美文网首页tomiOS 知识点专题_iOS开发相关
关于使用KVO监听数组的问题

关于使用KVO监听数组的问题

作者: 涂鸦的熊猫 | 来源:发表于2016-04-29 10:45 被阅读3669次

首先,数组不能直接使用KVO使用监听。当我们想要使用KVO监听数组的状态时改变然后尽心操作时,我们需要进行一下几部。

1.KVO不能监听UIViewController中的数组。我们需要先创建一个模型,将数组添加值模型中。

@interface SelectedsArr : NSObject

@property (nonatomic, strong) NSMutableArray *selecteds;///<选中的选项集合

@end

2.建立观察者以及观察者对象

[self.selectedsArr addObserver:self forKeyPath:@"selecteds" options:NSKeyValueObservingOptionNew context:nil];

3.处理Key的变化

这里,很重要,当向模型中的可变数组添加新成员时,不能直接用[self.selectedsArr.selecteds addObject:]方法。而使用该用下面的方法

[[self.selectedsArr mutableArrayValueForKey:@"selecteds"] addObject:]];

4.在下面的方法添加监听到变化后要执行的语句

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

}

5.移除监听

[self removeObserver:self forKeyPath:@"selecteds"];

相关文章

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

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

  • 关于使用KVO监听数组的问题

    首先,数组不能直接使用KVO使用监听。当我们想要使用KVO监听数组的状态时改变然后尽心操作时,我们需要进行一下几部...

  • OC底层原理学习笔记(二)- KVO、KVC的本质

    一、KVO 1、KVO实现属性监听的原理KVO俗称“键值监听”,可以用于监听某个对象属性值的改变未使用KVO监听的...

  • iOS重学之KVO详解

    KVO的基本使用 基本使用 KVO:Key Value Observing(键值监听),用来监听某个对象属性值的改...

  • KVO 相关

    1 . KVO 的基本使用kvo "键值监听", 全称"Key-Value Observing" ,监听对象属性...

  • KVO使用及实现原理

    KVO使用及实现原理 KVO使用 对属性进行监听 对属性的属性进行监听 容器监听 触发(手动触发,kvc赋值) 添...

  • iOS KVO

    kvo:key-value-observing:键值监听,可以监听某个对象属性的值 前言 使用(kvo 监听foo...

  • 自定义KVO,自动释放,监听多个属性

    自定义的 KVO,支持多属性监听,支持自动释放。 使用系统 KVO 监听属性 先来回顾下系统 KVO 是如何使用的...

  • iOS开发-4.KVO

    1.什么是KVO? 2.未使用KVO监听的对象 3.使用了KVO监听的对象 4.查看_NSSet*AndNotif...

  • iOS KVO

    什么是KVO KVO俗称“键值监听”,用来监听某个对象属性值的改变 KVO的使用 KVO 本质 在给某个对象添加K...

网友评论

    本文标题:关于使用KVO监听数组的问题

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