【问题标题】:Need clarification on addObjectsFromArray function需要澄清 addObjectsFromArray 函数
【发布时间】: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


【解决方案1】:

通过保持与您刚刚填写的 itemsCopy 属性相同的数组。无论您使用什么方法,它显然都被重置为一个空数组。

【讨论】:

    猜你喜欢
    • 2018-11-21
    • 2011-11-09
    • 2012-07-18
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 2012-06-02
    • 2017-01-18
    相关资源
    最近更新 更多