【发布时间】:2012-05-15 05:13:17
【问题描述】:
当我需要一个私有对象时,我目前使用属性,如下所示:
// Class extension in .m file
@interface MyClass()
@property (strong, nonatomic) NSArray* myInternalArray;
@end
self.myInternalArray = something;
您也可以这样做:
@implementation MyClass {
NSArray* _myInternalArray;
}
_myInternalArray = something;
如果没有自定义 setter 或 getter,两者是等价的。内部变量的最佳实践是什么?一种方法比另一种方法有什么优势吗?
【问题讨论】:
-
有一个非常详细的答案可能对您有帮助,类似的问题。 It can be found here
-
您的第一部分和第二部分不等价:在您的第一部分中,您创建了一个带有支持 ivar 的私有财产。因此,您可以使用 self.myInternalArray 或 _myInternalArray 等。但在您的第二部分中,没有属性。所以 self.myInternalArray 不起作用,但 _myInternalArray 会。
标签: iphone objective-c ios automatic-ref-counting