Если я не использую ивар для свойств, но сделаю это:
@interface someClass : NSObject
@property (nonatomic, retain) NSArray * someArray;
@end
@implementation someClass
@synthesize someArray = _someArray;
- (void) someMethod
{
if( self.someArray == nil ){
// True on the first call?
}
}
@end
При первой проверке self.someArray
возвращается nil
, как и _someArray
, но гарантируется ли это? Я только прочитал, что ивары гарантированно равны nil
, и, поскольку я не объявляю ивар (_someArray
не является иваром), я не уверен, будет ли он nil
везде и всегда.