小编Nup*_*rma的帖子

当应用程序重新启动时,数据在 Core Data 中不持久

我第一次在 XCode 8,swift 3 制作的项目中使用 Core Data。我使用了后台上下文(调用 container.performBackgroundTask 块..)来保存数据和主上下文来获取数据。当我的应用程序重新启动时,我保存在私有后台上下文中的数据将被删除。

请告诉我哪里出错了!!!

这里我调用了 CoreDataManager 类在 applicationDidEnterBackground 中的 save context 方法和 AppDelegate 类的 applicationWillTerminate 方法:

class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
lazy var coreDataMgrInstance = CoreDataManager.sharedInstance

func applicationDidEnterBackground(_ application: UIApplication) {

    coreDataMgrInstance.saveContext()
}
func applicationWillTerminate(_ application: UIApplication) {
    coreDataMgrInstance.saveContext()
}}
Run Code Online (Sandbox Code Playgroud)

这是我的单例类 CoreDataManager 来启动 NSpersistentContainer

class CoreDataManager: NSObject {    
class var sharedInstance: CoreDataManager {
    struct Singleton {
        static let instance = CoreDataManager()
    }

    return Singleton.instance
}
   private override init() {

    super.init()
} …
Run Code Online (Sandbox Code Playgroud)

core-data ios swift3

3
推荐指数
1
解决办法
1251
查看次数

标签 统计

core-data ×1

ios ×1

swift3 ×1