Objective c 在NSMutableArray中观察NSMutableArray的键值

Objective c 在NSMutableArray中观察NSMutableArray的键值,objective-c,uitableview,nsmutablearray,key-value-observing,Objective C,Uitableview,Nsmutablearray,Key Value Observing,观察NSMutableArray的多对多关系的键值似乎是一种很好的技术,因为它只有一个部分和多行。但是,我的表视图是分组的,更适合使用数组sections,其中的每个对象都是一个数组,其中包含该节的行。当节数是动态的时,我是否可以使用KVO观察节中的行数组数组 最终,我希望实现类似于NSFetchedResultsControllerDelegate方法的功能,而不必使用核心数据: -(void)控制器:(NSFetchedResultsController*)控制器 didChangeSect

观察
NSMutableArray
的多对多关系的键值似乎是一种很好的技术,因为它只有一个部分和多行。但是,我的表视图是分组的,更适合使用数组
sections
,其中的每个对象都是一个数组,其中包含该节的行。当节数是动态的时,我是否可以使用KVO观察
节中的
数组
数组

最终,我希望实现类似于
NSFetchedResultsControllerDelegate
方法的功能,而不必使用核心数据:

-(void)控制器:(NSFetchedResultsController*)控制器
didChangeSection:(id)sectionInfo
atIndex:(整数)sectionIndex
forChangeType:(NSFetchedResultsChangeType)类型

-(void)控制器:(NSFetchedResultsController*)控制器
didChangeObject:(id)对象
atIndexPath:(nsindepath*)indepath
forChangeType:(NSFetchedResultsChangeType)类型

newIndexPath:(NSIndexPath*)newIndexPath

我认为您必须将KVO添加到父数组(部分),然后在添加/删除该数组时将KVO添加到插入/删除的每个子数组。
NSArray
s不会发布KVO插入和删除通知。您应该研究如何使用数组控制器。@nielsbot我对KVO中的多对多关系不太熟悉,但要观察多对多关系,您必须为KVO指定特定的方法才能工作,即对于名为
项的数组
,您必须使用
insertObject:initemsatinex:
(以及其他一些方法)。这是我发现的唯一一个例子:@JoshCaswell这是针对iOS的,所以我不能使用
NSArray控制器
,但我知道我可以观察到
NSArray
的多对多关系,假设你要观察的数组是某个对象的属性,通过
-mutableArrayValueForKey:
返回的数组对该属性进行变异将发布该属性的KVO通知。(如果有道理的话)