美文网首页
iOS KVO 数组

iOS KVO 数组

作者: 小星星吃KFC | 来源:发表于2020-09-23 19:59 被阅读0次
  • KVO数组目前都是用array 包裹在一个model中

添加监听

[self.model addObserver:self forKeyPath:@"dataArray" options:NSKeyValueObservingOptionNew context:nil];

添加元素

[[self.model mutableArrayValueForKeyPath:@"dataArray"] addObject:anObject];
  • 可以在当前类直接定义 NSMutableArray 属性

添加监听

[self addObserver:self forKeyPath:@"dataArray" options:NSKeyValueObservingOptionNew context:nil];

添加元素

[self.dataArray addObject:@"2"];
self.dataArray = [NSMutableArray arrayWithArray:self.dataArray];
forKeyPath:@"dataArray"   ,这样的path 可以通过预编译 得出正确路径.

总结: 因为addObject NSMutableArray 地址不变化,无法KVO,所以重新创建NSMutableArray 地址就可以了,同理 在flutter中也是这个原理
https://www.jianshu.com/p/6b732e4fff5c

相关文章

  • 使用RAC/KVO监听数组的变化

    iOS默认不支持KVO的形式来监听数组的变化,数组改变的时候,只是数组里面的值变化,但数组的地址没有变化,KVO监...

  • iOS KVO 数组

    KVO数组目前都是用array 包裹在一个model中 添加监听 添加元素 可以在当前类直接定义 NSMutabl...

  • iOS-KVO(二) 使用注意点

    iOS-KVO(一) 基本操作iOS-KVO(二) 使用注意点iOS-KVO(三) 窥探底层实现iOS-KVO(四...

  • iOS-KVO(三) 窥探底层实现

    iOS-KVO(一) 基本操作iOS-KVO(二) 使用注意点iOS-KVO(三) 窥探底层实现iOS-KVO(四...

  • iOS-KVO(四) 自定义KVO+Block

    iOS-KVO(一) 基本操作iOS-KVO(二) 使用注意点iOS-KVO(三) 窥探底层实现iOS-KVO(四...

  • iOS-KVO(一) 基本操作

    iOS-KVO(一) 基本操作iOS-KVO(二) 使用注意点iOS-KVO(三) 窥探底层实现iOS-KVO(四...

  • [iOS] KVO监听数组

    对于swift,因为数组是值类型, 操作数组时,didSet 属性观察就可以很容易做到这一点. 对于Objecti...

  • iOS - KVO

    [toc] 参考 KVO KVC 【 iOS--KVO的实现原理与具体应用 】 【 IOS-详解KVO底层实现 】...

  • KVO如何才能直接监听到数组的变化

    转自关于使用KVO监听数组的问题 首先,数组不能直接使用KVO使用监听。当我们想要使用KVO监听数组的状态时改变然...

  • Objective-C的本质(4)—— KVO本质

    参考:iOS底层原理总结 - 探寻KVO本质iOS-KVO本质 问题一:kvo如果找到对应的属性 KVO不存在查找...

网友评论

      本文标题:iOS KVO 数组

      本文链接:https://www.haomeiwen.com/subject/zogoyktx.html