NSMutableArray修改时运行代码

porglezomp

对于我来说@property,修改该属性后,我可以让setter做一些额外的工作,但是对于NSMutableArray,我经常使用诸如[NSMutableArray replaceObjectAtIndex:(NSInteger) withObject:(id)];修改数组之类的方法。如何编写将对象替换/插入NSMutableArray中时将被调用的方法?

安德鲁·米纳(Andrew Miner)

最好的解决方案是使用键值观察系统来观察阵列的变化。但是,使用数组执行此操作并非一帆风顺。

引用一个类似的问题

您不能-addObserver:forKeyPath:options:context:直接在NSArray上调用...您想以[属性名称]为键在[对象]上调用它。

您还没有完成。普通的自动KVO通知仅在您调用时才起作用-setPlayerNameArray:,从而替换了整个数组。如果您想要更详细的通知,则需要使用-willChange:valuesAtIndexes:forKey:并且-didChange:valuesAtIndexes:forKey:每当您插入,删除或替换该数组中的项目时。

每当数组内容更改时,这将发送一条通知。根据添加观察者时使用的NSKeyValueObservingOptions的不同,您还可以获取所做的增量更改-一个很酷的功能,但是在这种情况下可能不需要它。

某种程度上为您工作,创建一个内部ObservableArray使用并不太难NSArray,但是NSNotification每当有更改时都会发布

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

即时运行代码

来自分类Dev

Ember模板更改时运行jQuery

来自分类Dev

在方向更改时运行脚本

来自分类Dev

值更改时运行循环-Arduino

来自分类Dev

jQuery,更改时运行功能

来自分类Dev

更改时触发未在更改时运行脚本

来自分类Dev

应用关闭时运行的代码

来自分类Dev

按住按钮时运行代码

来自分类Dev

每小时运行代码

来自分类Dev

ng-repeat在状态更改时运行

来自分类Dev

列值每次更改时运行的总计

来自分类Dev

bootstrap datepicker:日期更改时运行功能

来自分类Dev

Ansible处理程序仅在更改时运行:true

来自分类Dev

使用datepicker输入更改时运行javascript函数

来自分类Dev

仅在文件更改时运行Karma测试

来自分类Dev

ng2-datepicker 在日期更改时运行功能

来自分类Dev

用户“擦除” viewpager片段时运行代码?

来自分类Dev

每次页面加载时运行代码

来自分类Dev

仅在找到对象时运行代码块

来自分类Dev

Javascript代码仅在调试时运行

来自分类Dev

SwiftUI:当窗口关闭macOS时运行代码

来自分类Dev

mongoengine加载文档时运行代码

来自分类Dev

在课程开始时运行代码

来自分类Dev

当岐阜完成动画时运行代码

来自分类Dev

在等待时运行其他代码

来自分类Dev

当我以一种方式编写它时,JavaScript代码不会运行,但在我对其进行一些修改时会运行。

来自分类Dev

间隔运行功能,同时运行主代码

来自分类Dev

间隔运行功能,同时运行主代码

来自分类Dev

如何在启动时运行终端代码,并在启动时运行VPN?