iOS监听控制器数组变化

用KVC监听viewcontroller的数组变化,在控制器里面有一个可变数组属性

若是用KVO监听数组mArray

在viewdidload方法里面写

[self addObserver:self forKeyPath:@"mArray" options:NSKeyValueObservingOptionOld context:nil];


- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary*)change context:(void *)context{

NSString *str = [self.mArray lastObject];

DLog(@"%@",str);

}

若只是这样写,数组添加删除元素都不会监听到数组的变化。

若是要监听数组的变化就要进一步完成系统为我们生成的方法,一个是insert方法,一个是remove方法

同时给数组添加元素时不再是使用 addObject:方法,而是使用insertObject:(id)object inMArrayAtIndex:(NSUInteger)index方法,只有这样才会监听到数组的变化。

这样当mArray元素添加删除时,都会监听到数组的变化

最后不忘移除监听


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,628评论 30 472
  • 史上最全的iOS面试题及答案 iOS面试小贴士———————————————回答好下面的足够了----------...
    Style_伟阅读 2,577评论 0 35
  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 2,077评论 0 9
  • iOS面试小贴士 ———————————————回答好下面的足够了------------------------...
    不言不爱阅读 2,254评论 0 7
  • 新款10.5英寸iPad Pro可能会替代已经发布一年多的9.7英寸iPad Pro。值得注意的是,这款产品虽然...
    协腾科技阅读 347评论 0 0

友情链接更多精彩内容