代码之家  ›  专栏  ›  技术社区  ›  Collin Allen

如何合并KVO更改?

  •  4
  • Collin Allen  · 技术社区  · 14 年前

    我有一个相当简单的iPhone应用程序,可以将一组UITableView结果下载到它的model类中,还有一个视图控制器,可以用来观察这些变化 using KVO .

    或者,如果我试着打电话 -addObjectsFromArray 要以批处理方式添加我的新结果,永远不会发送必要的KVO通知,所以这一定不是观察到的方法之一,对吗?用包装我的更改来处理这个功能会更好吗 will / didChangeValueForKey 调用并生成相应的索引集?

    2 回复  |  直到 14 年前
        1
  •  3
  •   vdaubry    14 年前

    我也有同样的问题。我还没有一个合适的解决方案,但你可以在本页的答案 KVO programming guide :

    您可以实现这些方法,将几个对象一次添加到数组中:

    -insert<Key>:atIndexes: and -remove<Key>AtIndexes
    (corresponding to the NSMutableArrayinsertObjects:atIndexes: and removeObjectsAtIndexes: methods)
    

    希望这有帮助,

        2
  •  1
  •   Tim Arnold    11 年前

    关于你的第二个问题,关于使用 -addObjectsFromArray removeAllObjects array accessors ,可以执行以下操作:

    [[self mutableArrayValueForKey:@"key"] removeAllObjects];