您需要创建一个NSMutableArray
的实例并将其分配给属性。
由于具有该属性的对象是在故事板中创建的UIViewController
,因此您可以在几个不同的位置执行此操作。您可以覆盖initWithCoder:
或awakeFromNib
或viewDidLoad
。
如果覆盖initWithCoder:
,则必须调用super
方法。
如果你在viewDidLoad
中这样做,直到加载视图时才会创建数组,这不一定要马上发生。
我建议在awakeFromNib
做:
@synthesize myArray = _myArray;
- (void)awakeFromNib {
_myArray = [[NSMutableArray alloc] init];
}
另一种选择是仅通过重写属性的getter方法创建数组懒洋洋地:
@synthesize myArray = _myArray;
- (NSMutableArray *)myArray {
if (!_myArray)
_myArray = [[NSMutableArray alloc] init];
return _myArray;
}
如果你这样做,这是非常重要的是,您始终使用getter方法(self.myArray
或[self myArray]
)访问阵列,并且决不要直接访问实例变量(_myArray
)。
什么是具有'NSMutableArray'属性的类?它的超类是什么?你是在代码中还是在笔尖或故事板中创建类实例? – 2012-02-20 06:57:13
它是链接到故事板视图的UIViewController的子类。 – TijuanaKez 2012-02-20 07:08:09