添加和跟踪无限量对象的最佳方法是什么?

时间:2012-01-08 20:49:57

标签: objective-c nsarray

我有一个按钮,当点击时,会在视图中添加标签。在此之后随时点击它,它会添加另一个标签,从最后一个标签开始。

我试过这个

if (self.currentLabel == nil)  
     startingPoint = 0;
else
    startingPoint = currentLabel.frame.size.width + 5;

// Most recently created label becomes currentLabel
self.currentLabel = [[FormulaLabel alloc] initWithFrame:CGRectMake(startingPoint, 10, 100, 50)]; 

为了跟踪所有标签,我尝试将它们添加到数组

 [arrayOfObjects addObject:self.currentLabel] 

但我注意到数组计数没有改变。

为什么上述代码不起作用,是否有更好的方法来跟踪无限量的标签?

1 个答案:

答案 0 :(得分:0)

NSArrays是不可变的。您需要使用NSMutableArray

如果您已经在使用NSMutableArray,是否收到任何警告?

另外注意,“arrayOfObjects”是一个糟糕的名字。像“标签”,“usedLabels”或“labelHistory”这样的东西会更具描述性。