使用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