描述
我有一個名爲Person的CoreData條目,我使用NSFetchedResultsController獲取它,並按屬性「name」排序的fetchRequest。然後我在表格視圖單元格中顯示「名稱」。批量更新表格行,同時重新排序和更新?
問題
當我改變了實體的「名稱」屬性,行重新排序,NSFetchedResultsControllerDelegate
沒有給我一個NSFetchedResultsChangeType.move
。但顯示在單元格上的「名稱」已過時,這意味着我沒有收到NSFetchedResultsChangeType.update
Table View Programming Guide: Inserting and Deleting Rows and Sections說批量更新首先執行更新,然後刪除,最後插入。
它延遲行或段的任何插入,直到處理行或段的刪除。表視圖的行爲與在更新塊中調用的重新裝入方法的行爲相同 - 在執行動畫塊之前,將重新加載行和段的索引。無論插入,刪除和重新加載方法調用的順序如何,都會發生此行爲。
問題
如何通過NSFetchedResultsController
發送的通知的實施,特別是在插入的順序,刪除,更新&移動任何想法?
或者我怎樣纔能有效地使用某種代碼(意味着部分更新,而不是重新加載所有數據)來解決這個特殊問題?
我的不好。我實際上是指提取請求排序描述符。問題已更新。 設置'sectionNameKeyPath'只是不應該與您的獲取請求排序衝突。即使我不把物體分成幾部分,問題仍然存在。 – jchnxu
那麼問題是什麼?您現在在行的代表回調中有'.move'作爲選項,對吧? – Mundi