如何使用 swift 在 iOS coredata sqlite 中启用 DELETE MODE

Posted

技术标签:

【中文标题】如何使用 swift 在 iOS coredata sqlite 中启用 DELETE MODE【英文标题】:How to enable DELETE MODE in iOS coredata sqlite using swift 【发布时间】:2015-05-08 05:00:56 【问题描述】:

我正在学习使用 CoreData 创建 ios 数据库。我创建了示例应用程序以了解 CoreData。我从默认数据库创建目录中提取了 Sqlite 文件以使用 SQLite 浏览器检查数据。但 DBBrowser 什么也没显示。但成功消息显示和从数据库中检索数据。然后我找到了this关于CoreData数据库模式。我found 更改 WAL 模式的解决方案。运行后,再次在数据库目录中创建 WAL 模式数据库。我不明白我的代码出了什么问题。任何人都可以给出解决方案。

Xcode 版本:6.3

iOS SDK:8.3

代码

  lazy var persistentStoreCoordinator: NSPersistentStoreCoordinator? = 
  var options = Dictionary<NSObject, AnyObject>()
  options[NSMigratePersistentStoresAutomaticallyOption] = true
   options[NSInferMappingModelAutomaticallyOption] = true
   options["journal_mode"] = "DELETE" 

    var coordinator: NSPersistentStoreCoordinator? = NSPersistentStoreCoordinator(managedObjectModel: self.managedObjectModel)
    let url = self.applicationDocumentsDirectory.URLByAppendingPathComponent("CoreDartaDemo.sqlite")
    var error: NSError? = nil
    var failureReason = "There was an error creating or loading the application's saved data."
    if coordinator!.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: url, options: options, error: &error) == nil 
     
      error report
     
     return coordinator
    ()

【问题讨论】:

【参考方案1】:

不确定我是否完全理解您的问题,您是否尝试过关闭日记功能?

options["journal_mode"] = "OFF"

希望对你有帮助

【讨论】:

以上是关于如何使用 swift 在 iOS coredata sqlite 中启用 DELETE MODE的主要内容,如果未能解决你的问题,请参考以下文章

Swift 3 / iOS 10,正确使用核心数据

iOS CoreData 增删改查详解

iOS 9 和 iOS 10 CoreData 同时

Swift之深入解析如何结合Core Data和SwiftUI

如何使用 Swift 从 CoreData sqlite 表中获取特定的行数据

使用 CoreData 以编程方式创建实体/表,并在 Swift 3 for iOS 中将值插入该实体