【发布时间】:2010-07-01 00:25:16
【问题描述】:
我有以下代码(items 和 itemsCopy 都是 NSMutableArray 的):
//DO: populate items w/ 30 elements
[self.itemsCopy addObjectsFromArray:self.items];
//DO: remove all elements in items
结果
Begin Pass 1:
itemsCopy = 0
items = 30
End Pass 1:
itemsCopy = 30
items = 0
Begin Pass 2:
itemsCopy = 0
items = 30
End Pass 2:
itemsCopy = 30
items = 0
我怎样才能不断地将项目附加到 itemsCopy 的末尾?我希望场景看起来像这样:
Begin Pass 1:
itemsCopy = 0
items = 30
End Pass 1:
itemsCopy = 30;
items = 0;
Begin Pass 2:
itemsCopy = 30
items = 30
End Pass 2:
itemsCopy = 60
items = 0
【问题讨论】:
-
您必须在某个地方重新初始化 itemsCopy 数组,或者在每次通过时对不同的对象执行操作......
-
所以 addObjectsFromArray 应该总是追加?
-
希恩·阿拉姆:是的。请参阅文档:developer.apple.com/iphone/library/documentation/Cocoa/…:没有任何地方说它会重置阵列,也没有任何理由这样做。
标签: objective-c cocoa cocoa-touch nsmutablearray nsarray