所以我有这种方法:
-(void)addLaneToRacingLanes:(UITapGestureRecognizer*)sender{
laneDataObject *data=[self.laneDataObjects objectAtIndex:sender.view.tag];
[self.racingLanes addObject:data];
NSLog(@"%i",self.racingLanes.count);
[sender.view setBackgroundColor:[UIColor yellowColor]];
}
它使用发件人视图中的标签来查找与该视图相对应的数据对象。我正在使用它添加到我的racingLanes中,这就是我更新这些视图的方式,但是我的问题是由于某种原因我无法添加laneDataObjects到我的RacingLanes数组。有任何想法吗?
这是设置属性的方式:
@property (strong,nonatomic)NSArray *laneDataObjects;
@property (strong,nonatomic) NSMutableArray *racingLanes;
我已经遍历了标签,它们都可以工作。标签的工作方式是:通道1是标签0,其数据对象为0,然后通道2是标签1,其数据为1,依此类推。我已经对此进行了预测试。并且我检查了laneDataObject数组是否都已正确设置。是因为我的racingLanes没有使用自定义的getter或setter吗?我将如何改变呢?
万一我用过
NSLog(@" %i",self.racingLanes.count);
找出数组是否为空。
最佳答案
可以肯定的是,racingLanes
尚未初始化:由于要添加的对象不是nil(否则会抛出异常),因此racingLanes
必须为nil
。
您需要在指定的初始化程序中将racingLanes
设置为NSMutableArray
:
_racingLanes = [NSMutableArray array];