首先 为什么要说 因为 KVO普通的写法是监听不到 数组的长度的变化的 为什么?自己百度
下面是我的代码写法 全部在上面了
首先创建个NSObject 类 SelectedsArr 我是这样的名字

.h文件

.m的文件
接下来是使用

在你的controller中导入头文件

定义属性

注册监听者 利用keypath 监听类对象中的数组对象

记得要在注销的时候移除监听者

然后在这里面实现你的监听的逻辑 数据长度变化的时候 我的逻辑就别看了
对了还有很重要的
给类对象的数组DataSourceArr 增加 对象元素的时候可千万别乱写

是这样写的
为了不麻烦 都这样写可以定义个宏
比如:#define MyDataArr [self.dataArr mutableArrayValueForKeyPath:@"DataSourceArr"]
