嘿,如果我有一些财产
@interface MyClass {
NSArray* myArray;
}
@end
@property (retain, nonatomic) NSArray* myArray;
在我的初始化方法中,我应该做些什么
myArray = [[NSArray array] retain];
要么
self.myArray = [NSArray array];
我认为前者将是更可取的,因为这很清楚发生了什么事?我猜应该用另一种措辞来表达,您应该在实现中与成员的属性进行交互还是应严格使用成员本身?
最佳答案
首选第一种方法,因为如果您通过访问器,它可以触发KVO通知,如果您的子类是对象,这可能会引起奇怪的问题。
关于iphone - 自动释放对象的Objective-C成员初始化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1689986/