我正在編寫一個基本的UITableView
的應用程序,顯示從CoreData
加載的NSManagedObject
。 還有一個正在運行的後臺進程,並使用NSNotificationCenter
通知viewController
對CoreData
NSManagedObject
(IE:使用NSInserted
/Updated
/DeletedObjectsKey
)的任何更改。在視圖接收到更改數據通知後,我有幾個有關更新tableView
的最佳方法的問題。iOS使用UITableView reloadData vs endUpdates
是更好地呼籲
tableView
reloadData
或找出一個差異上的數據並執行插入/刪除/內tableview.BeginUpdates()
更新 -tableView endUpdates()
?在用戶與
tableView
互動時刷新tableView
是否有效嗎?有沒有一種簡單的方法,我缺少做兩個數組之間的差異
CoreData
NSManagedObject
s並適用於tableView
?
我希望我沒有過於複雜的事情
選項4)使用NSFetchedResultsController在評論中提到,你的情況。這是完成這項任務。 –
謝謝!我會在這裏閱讀一些文檔。我是iOS開發新手。 –
NSFetchedResultsController和NSFetchedResultsControllerDelegate文檔都有示例代碼,並且有許多教程可用。 - 如果您使用「Master-Detail應用程序」模板在Xcode中創建新的iOS應用程序,並選擇「Core Data」選項,那麼您將獲得一個包含所有樣板代碼的免費示例應用程序:) –