我需要跟踪数组中的整数值,有时我需要修改数组中的值。
现在我这样做:
// Read an integer from the array
NSNumber* num = [NSNumber numberWithInteger:someInteger];
[numArray addObject:num];
更新值:
// Update an integer in the array
NSNumber* num = [numArray lastObject]; // get old
NSInteger numInt = [numInt integerValue]; // convert
NSNumber* newNum = [NSNumber numberWithInteger:numInt + someAddition]; // create new
[numArray removeLastObject]; // remove old
[numArray addObject:newNum]; // set new
这太糟糕了。涉及的对象太多了,因为NSNumber是不可变的。现在我想也许我必须进入旧的C并使用CFMutableArrayRef?我可以在那里存储简单的NSInteger值而不需要所有这些开销吗?
答案 0 :(得分:1)
您可以使用replaceObjectAtIndex:withObject:command:
[numArray replaceObjectAtIndex:[array count]-1 withObject:newNum];
这比你的方法更好