最佳方法是什么:
首先:保持对每个变量的控制
if (objectProperty_ != anObject) {
[objectProperty_ release];
objectProperty_ = [anObject retain];
}
第二次:声明属性并使用访问器并让系统完成工作
@property (nonatomic, readwrite, retain) NSObject *objectProperty;
...
@synthesize objectProperty = objectProperty_;
...
self.objectProperty = anObject;
谢谢。
答案 0 :(得分:2)
尽可能使用属性。
@property
自动记录访问者的语义。例如,在您的示例中,我可以从界面中看到objectProperty保留其值,而不是分配或复制它。当您声明属性但定义自己的访问者时,第2点甚至成立。
答案 1 :(得分:1)
最有可能保持理智的方法是尽可能使用Apple编写的访问器,并在必要时编写自己的访问器。
访问者方法调用确实增加了一点时间;我在iPad上计时,我觉得它大概是10 ^ -7秒。无论您是自己编写方法还是使用Apple,都应该如此。除了最极端的情况之外,这一切都不太重要。
答案 2 :(得分:1)
更少的代码意味着更少的错误,所以如果你必须为公共访问声明读写属性,只需使用属性来设置。