2011-09-18 38 views

回答

3

這不是一個SQL查詢,它是提取。查詢是SQL特定的概念,而提取是可與任何類型的核心數據存儲一起使用的核心數據概念。

您可以更改NSFetchedResultsController的fetchRequest值,但它有些涉及。 From the docs:

修改獲取請求

你不能簡單地改變讀取請求 修改的結果。如果您要更改提取請求,您必須:

(1)如果您正在使用緩存,請將其刪除(使用deleteCacheWithName :)。

通常情況下,如果您要更改提取 請求,則不應使用緩存。

(2)更改提取請求。

(3)調用performFetch :.

這是導致修改提取請求時出現問題的緩存。

您也可以更改NSFetchRequest對象的謂詞,但是如果將該提取與獲取的結果控制器一起使用,則必須執行上述步驟。

當緩存的對象與新獲取請求返回的設置不同時,會出現問題。通常,創建新的獲取請求對象或新獲取的結果控制器對象會更簡單,更簡潔。

你必須凍結tableview與beginUpdate而所有這一切正在進行,否則tableview的行和部分將不會與導致崩潰的數據同步。

相關問題