2012-09-12 33 views
1

我有一個NSFetchedResultsController,我有排序描述符數組的第一個排序描述符與sectionNameKeyPath相同,因此給了我不同的部分。但是我想讓第二個排序描述符成爲不同的pr節。有沒有好的方法來做到這一點,而不必將數據推入數組中,然後我再次排序?NSFetchedResultsController具有不同的排序描述符?

乾杯

回答

0

你已經建議使用不同的陣列內部的每個部分。這不是一個壞的方法,因爲實際上你只需要擔心顯示的對象和真實對象的索引路徑之間的映射。

換句話說,您知道表視圖正在顯示的少量項目,因爲它會向控制器詢問這些項目。您不必直接從FRC中的抓取結果數組中取回項目。

找到索引路徑,找出正在請求的部分,並抓取該部分的預先排序的行。由於數據量非常小,因此您可能會隨時按需要對它們進行排序。

另一種方法是向數據模型中添加另一個屬性。此屬性表示該部分內的排序順序,您可以將其設置爲您想要的任何值,因爲整個數組將按部分排序,然後按該屬性排序。

另外,您可能會發現使用代理對象作爲抓取結果控制器的前端更容易。與「多數組」方法類似,您只需使用代理對象,該代理對象在表視圖請求該部分時在每個部分上應用唯一的排序描述符,並以自己的排序順序返回對象。

相關問題