使用NSFetchedResultsController實現Core Data對象的運行時過濾的最佳方式是什麼?例如,我希望能夠顯示RecordStore實體中的所有記錄實體,但也要篩選某個預定義標準的RecordStore中的所有記錄,例如(ANY recordStore.records.count> 0)。在運行時過濾NSFetchedResultsController結果
我讀到,它創建後更改NSFetchedResultsController的謂詞是不好的。所以我應該將獲取的結果存儲在一個NSArray中,我可以過濾並將其用作UITableView的數據源,或者我應該創建多個NSFetchedResultsControllers?
這意味着我將無法利用NSFetchedResultsController的內置緩存中,並從我的理解,抓取是一個非常昂貴的操作。 – hwaxxer 2011-04-04 15:32:20
抓取並不是特別昂貴,特別是與將獲取的對象數組永久保存在內存中相比,這是您的其他選項。 NSFetchedResultsController通常只用於較大的相對靜態表。不要去尋找你可能沒有的性能問題。首先使用最簡單的解決方案,然後再採用更復雜的解決方案,只有在測試後顯示最簡單的解決方案不起作用。 – TechZen 2011-04-04 20:29:14
好點。我會接受上面的答案。 – hwaxxer 2011-04-06 09:21:38