我无法将我的数据对象添加到NSArray中

时间:2012-11-25 02:44:42

标签: objective-c ios nsarray

所以我有这个方法:

-(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没有使用自定义吸气剂或定位器吗?我该如何改变呢? 因为我使用了

NSLog(@" %i",self.racingLanes.count);

查明数组是否为空。

2 个答案:

答案 0 :(得分:1)

几乎可以确定racingLanes尚未初始化:因为您添加的对象是非零的(否则会看到抛出的异常),racingLanes必须为{ {1}}然后。

您需要在指定的初始值设定项中将nil设置为racingLanes

NSMutableArray

答案 1 :(得分:0)

您确定在班级的-init-viewDidLoad函数中初始化您的NSMutableArray吗?

// WITH ARC
self.racingLanes = [NSMutableArray array];

// WITHOUT ARC
self.racingLanes = [[NSMutableArray alloc] init];