0

我目前使用NSFetchedResultController來獲取顯示的數據。 但是我有兩個關於它的問題:NSFetchedResultController問題

1)當我將fetchSizeBatch屬性設置爲2時,我的應用程序總是崩潰。 fetchSizeBatch實際上是什麼意思?我真的不想把它設置爲2,我只是在玩它,並注意到這個錯誤。

2)我的應用程序當前使用大約25 MB的內存,而滾動通過UITableView。我假設NSFetchedResultController正在造成這種情況。 25 MB仍然正常嗎?或者這個控制器指定了某種設備?

回答

0

對於核心數據批量大小,二是極低的數字。 According to the documentation,這可能說明它比我好得多,設置批量大小意味着數據將被批量處理;換句話說,核心數據會查詢數據庫中的排序結果,但只會將批量大小指定的量提取到管理對象中。這個的實現 - 這是很大的一部分 - 是NSArray的一個代理子類,它將在每次訪問時通過索引,枚舉等訪問每個批次的項目。就你而言,這意味着核心數據每兩個對​​象往返一次數據庫。對於與UITableView交談的NSFetchedResultsController,您可以看到這是多少問題。

否則,25MB是不是太棒了,但我看到應用程序做得更糟。我會說你很好。

+0

那麼,有沒有辦法使用NSFetchedResultController減少這些25MBs?感謝您的解釋! – lbrndnr

相關問題