Требуется ли ivar для свойств, где @synthesize propertyName = _propertyName; - PullRequest
0 голосов
/ 10 января 2012

В следующем примере требуется ли строка NSObject *_propertyName;?

.h

@interface  ClassName
{
    NSObject *_propertyName;
}

@property (nonatomic, retain) NSObject *propertyName;

@end

.m

@implementation  ClassName

@synthesize propertyName = _propertyName;

@end

Я считаю, что если я исключаюNSObject *_propertyName; но держите @synthesize propertyName = _propertyName; все работает.Вот пример того, о чем я говорю:

.h

@interface  ClassName

@property (nonatomic, retain) NSObject *propertyName;

@end

.m

@implementation  ClassName

@synthesize propertyName = _propertyName;

@end

Я проверял и видел, что свойство все еще работает,Я почти всегда вижу код, который включает в себя строку NSObject *_propertyName;.Я что-то упускаю здесь?

1 Ответ

3 голосов
/ 10 января 2012

Ты ничего не пропустил.Начиная с более новых сред выполнения (более новый iOS Simulator, x86_64 и ARM) вам больше не нужно вручную объявлять ivar.До этого на i386 и PPC вы должны были вручную объявить свои ивары.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...