Objective-C中的属性和访问器

以下代码是否调用访问器“set”函数,或者直接修改指针myMember

aClass.h

 @interface MyClass : NSObject { NSArray *myMember; } @property (nonatomic, retain) NSArray *myMember; 

aClass.c

 @implementation GameplayScene @synthesize myMember; - (id) init { if ( (self = [super init]) ) { myMember = [NSArray array]; } } 

换句话说,我想知道是否正在调用setMyMember方法,或者直接修改myMember的指针。

同样, myMember = [NSArray array]self.myMember = [NSArray array]是否相同?

没有self. 符号,实例variables被直接修改。 有了它,属性设置器被调用(并且由于您已将其设置为retain属性,因此将设置的新指针将发送retain消息)。

请参阅Apple 声明和访问属性的文档。