2013-07-12 50 views

回答

0

如果您使用的是fetchLimit,它不會更新,但如果您希望獲得前20個結果並自動更新,可以使用setBatchSize20

請參閱以下細節:

的fetchedObjects陣列的數量可能不是你想要做的,因爲它不更新從持久存儲的變化是什麼。來自NSFetchedResultsController文檔:

結果數組只包括由獲取請求(fetchRequest)指定的實體實例,並且它與其謂詞相匹配。 (如果提取請求沒有謂詞,則結果數組包括由提取請求指定的實體的所有實例。)

結果數組反映受控對象在託管對象上下文中的內存中狀態,而不是他們的狀態在持續存儲中。但是,返回的數組不會隨着託管對象的插入,修改或刪除而更新。

如果您只想獲取20個對象,請設置NSFetchRequest的提取限制。如果您只想在內存中保留20個對象,請使用NSFetchRequest對象的setBatchSize。