我需要一些帮助来理解如何使用 NSArrays / NSMutableArrays 作为属性。
- 数组应该是什么属性:强或复制?在什么情况下我应该使用哪个属性?
- 如何在代码中初始化数组。
- 我的属性数组应该是 NSArray 还是 NSMutableArray
目前我这样做的方式有两种不同的方式,如下所示。但这一切都是零散的,并且没有清楚地了解它的机制。其中哪一项是正确的或错误的。
方法一
.m file
interface()
@property (nonatomic, strong) NSMutableArray *arrayOfData;
implementation
<....other code>
self.arrayOfData = [NSMutableArray arrayWithCapacity:count];
[self.arrayOfData addObject:<my object>]
方法二
.h file
@property (nonatomic, strong) NSArray *arrayOfData;
.m file
//Property setter
- (void)setListOfData:(NSMutableArray *)newList {
if (_arrayOfData != newList) {
_arrayOfData = [newList copy];
}
}
//Function which initializes the arrayOfData
NSMutableArray *newData = [[NSMutableArray alloc] init];
.....<code which adds data>
self.arrayOfData = newData;