所以我有这种方法:

-(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];

10-08 12:30