Имеет ли свойство readonly для IBOutlet Work и будет ли это предпочтительным?

В коде, который я наследую, я видел следующее:

@property (readonly) IBOutlet UIImageView * bgImage;

Когда я ожидал бы модель сохранения памяти, например:

@property (readonly, retain) IBOutlet UIImageView * bgImage;

Я не понимаю, почему первое определение свойства работает без проблем.

Кроме того, есть релиз в dealloc, как и следовало ожидать:

-(void)dealloc
{
   [_bgImage release];
   [super dealloc];
}

Буду признателен, если кто-нибудь сможет дать этому объяснение. Я разговаривал с первоначальным разработчиком, и он пытался написать более сжатый код, поэтому он не учел сохранить в модели памяти (казалось ненужным).

Интересно, обрабатывается ли IBOutlet в основном как оператор IBOutlet ivar, потому что он доступен только для чтения (сеттер не используется, поэтому модель памяти назначения по умолчанию не имеет значения).

Если не ожидается, что IBOutlet изменится, будет ли использование свойства только для чтения без модели памяти предпочтительным способом определения свойств?

6
задан Sam 1 November 2011 в 22:04
поделиться