2017-08-03 73 views
-2

我處於目前我從核心數據中暫時沒有獲取超過100條記錄的情況,但這種情況會隨着時間的推移慢慢增長,我想讓應用程序隨時準備好10000條記錄,我是否應該實現記錄異步或同步的這種處理仍然會在幾秒內返回10000條記錄的數據?我沒有處理核心數據堆棧上大尺寸數據的經驗。需要從核心數據讀取10,000條記錄

+0

你在哪裏顯示這些數據?泰伯維? – jarora

+0

@jarora是表格視圖主要是 –

+0

請提及downvoting的原因。 – jarora

回答

2

您應該使用FRC(NSFetchedResultsController)以及FRC的NSFetchRequest的batchSize屬性,該屬性限制了給定時間內存中核心數據對象的數量。

請參閱蘋果文檔here。 用法可以發現here

編輯: 您可以使用fetchRequest對核心數據對象進行處理。另外,您可以在列上使用索引來提高查詢的性能。

+0

基本上我不想將結果集直接附加到TableView上,因爲我們在顯示之前沒有進行一些處理。 –

+0

這很好。您可以在cellForRowAtIndexPath中執行處理。您可以從fetchedResultsController中獲取該indexPath處的coredata對象,然後對其進行修改以適應視圖規範。 – jarora

+0

沒有我的意思是要求收集的數據首先至少1000條記錄,然後進行一些處理,然後顯示,所以對於這個和其他一些原因,如我想保持模型和視圖之間的鬆散耦合,所以真的不喜歡使用它。 –