【发布时间】:2018-12-30 22:06:13
【问题描述】:
我成功保存了核心数据上下文。 当我删除应用程序实例(仅实例,而不是应用程序本身)时,核心数据上下文中所有保存的托管对象也被删除。但我想保留这些对象。 这是我的代码的快照。 当我第一次运行应用程序时,此代码将“aaban”写入核心数据上下文。并保存。
现在第二次,如果我不删除应用程序实例(不是应用程序本身),此代码将打印“aaban”。 但是如果我删除应用程序实例(不是应用程序本身),这将不会打印“aaban”。
【问题讨论】:
-
context.save() 被调用?
-
是的。让我也分享一下该代码。 func applicationDidEnterBackground(_ application: UIApplication) { self.saveContext() }
-
@aaban-tariq-murtaza :通常您不会等到应用程序进入后台才能将数据保存到持久存储中,而是当您认为您拥有稳定的数据时更新您的核心数据。我们无法为您提供像
self.saveContext()这样的方法名称,我们不知道您在其中实现了什么,所以请发布代码,以便我们进一步帮助您 -
每当我创建一个托管实例时。我也用来保存。看到这段代码\n let city = City(context: SharedData.shared().managedContext!)\n city.id = (item[CONSTANTS.JSON_KEYS.LIST_HOME_CITY_ID] as!String\n SharedData.shared().managedContext?。保存()
-
即使我也检查了底层的sqlite,sqlite也有保存的数据。但是当我删除应用程序实例(不是应用程序本身)时,这个 sqlite 数据也被删除了。
标签: ios sqlite core-data persistence data-persistence