我想按實體對NSFetchRequest
的結果進行分組。這些實體都共享相同的抽象父項。例如:是否可以在不添加額外屬性的情況下按「NSFetchRequest」中的子類進行排序?
animal
|
|-cat
|
|-dog
的NSFetchRequest
已includesSubentities
設置TRUE
和entity
設置爲animal
。可以將NSFetchedResultsController的sectionNameKeyPath
設置爲entity.name
,但不可能對NSFetchRequest
的sortDescriptors
做同樣的處理,因爲sortDescriptors
應用於存儲的屬性(即數據庫中的數據,而不是類中的方法)。因此按實體類型分組的唯一方法是向超類添加一個屬性,子類可以用它來標識自己。
這看起來很瘋狂,因爲它破壞了繼承的有用性。我查看了SQLite數據庫,實體類型與屬性存儲在同一個表中,因此所需的數據已經就位。
總結:是否可以按NSFetchRequest
中的子類進行排序而不添加其他屬性?
你有沒有找到這個問題的答案? – epologee 2011-07-04 20:31:30
@epologee。不,我沒有找到解決方案。我認爲最好的辦法是重新排序'fetchedResultsController.sections'或不使用'NSFetchedResultsController'。 – 2011-07-04 20:34:00
我已經採取了使用多個NSFetchedResultsController實例,每個實體一個:S。收藏這個問題,如果有人找到答案。乾杯。 – epologee 2011-07-04 23:42:39