我最近一直在使用 Core Data 和 UIManagedDocument,并且有一些问题。
我有一个 UITableViewController,我在其中打开一个 UIManagedDocument。在这里,我将信息下载到 tableViewCotroller 并将信息保存到数据库并更新 tableview。现在,当我通过主页按钮进入主屏幕然后再次打开应用程序时,我想处理 appdelegate 中数据库中的数据。因此,在 appdelegate 中的适当方法中,我打开数据库,获取我想要的实体并更改我想要的对象的属性。现在,这行得通,我设法打开数据库并从数据库中获取我想要的对象。
当我完成从 appdelegate 中的数据库更改数据时,我的问题就出现了。因为在appdelegate方法完成后,我尝试从同一个数据库中重新获取tableview中的数据,但是此时数据库还没有注册在appdelegate中调用的方法中所做的更改。在 appdelegate 内部进行更改之后,我尝试调用 saveToURL 以覆盖 UIManagedDocument 上的方法,并且我还尝试了 managedobjectcontext 上的 save: 方法。保存更改以便更新数据库的正确方法是什么?
Ps:我是在iPad上写的,所以我没有设法上传代码,我稍后再上传。
谢谢