使用CoreData,我有一个实体“Bookmark”,它具有一个名为'tags'到另一个实体“Tag”的一对多关系,以及一些通信属性(string,date,...)。NSArrayController如何排序一对多的关系?
在NSTableView的,我们通过结合显示书签实体:
- NSArrayController的是绑定到文件的Owner.managedObjectContext (标准的XCode CoreData模板时,managedObjectContext,在AppDelegate)
- 中的列TableView绑定到它们各自的属性。特别的,Tag列绑定到这个arrayController.arrangedObjects.tags并带有一个NSValueTransformer的子类,这样我们就可以显示一个NSString的对多关系的摘要。
它的工作。现在,当我点击列标题整个表视图得到正确排序,除了“标签”栏在那里我得到这个:
-[_NSFaultingMutableSet compare:]: unrecognized selector sent to instance
可以肯定的“设置”,从这个一对多的关系不回应选择器'比较:'。
问题: 我怎样才能使这项工作?我如何分类一对多关系?
ValueTransformer是否可用?如果我可以提供一个自定义类来进行比较:ArrayController知道...
在iOS 5和Mac OS X 10.7中,我们订购了多对多关系。它使用NSOrderedSet而不是使用NSSet。唉它需要最新版本(我在10.6上运行)。除此之外,我在另一台机器上尝试过10.7,并且几个小时后我无法使其正常工作...... – malaba