我如何使用帶翻譯的排序鍵和sectionKeyPath的NSFetchedResultsController?NSFetchedResultsController部分本地排序
問題:在類型爲typeA,typeB,typeC等數據庫中的屬性「type」中有ID,而不是直接因爲它應該本地化的值。在英語中,typeA = Bird,typeB = Cat,typeC =德語中的Dog,它將是Vogel,Katze,Hund。
與排序鍵和sectionKeyPath在「類型」一NSFetchedResultController我收到的順序和部分 - 的typeA - TYPEB - typeC
接下來我翻譯顯示,一切都很好英文: - 伯德 - 貓 - 狗
現在我切換到德國和接收錯誤的排序順序 - 沃格爾 - Katze - 洪特
因爲它仍然按類型A排序,typeB,typeC
所以我正在尋找一種方法來爲NSFetchedResultsController進行本地化排序。
我嘗試了瞬態屬性方法,但這對於排序鍵不起作用,因爲排序鍵需要在實體中。
我沒有其他的想法。但我不能相信這是不可能的NSFetchedResultsController本地化所需的派生屬性?
有像Using custom sections with NSFetchedResultsController?這樣的相關討論,但區別在於自定義節名稱和排序鍵可能具有相同的順序。不在我的情況下,這是主要區別。
最後我會需要一個排序順序爲必要的NSSortDescriptor派生屬性,我猜。此排序順序也可用於sectionKeyPath。
感謝您的任何提示。
是的,我試過這個到某個點。但說實話,我無法說服NSString使用這種類別定義的比較方法.... 我沒有想到sectionKeyPath是一個問題,因爲我可以使用瞬態屬性這裏應該匹配的排序順序從排序描述符進行本地化排序。 – Gerd 2010-04-30 14:22:18
我給了它另一個嘗試。請參考答案「我再次嘗試使用自定義比較...」(太長的評論)。 – Gerd 2010-05-02 18:35:41