gpt4 book ai didi

core-data - 将核心数据保存到我自己在LibraryDirectory中创建的目录时崩溃

转载 作者:行者123 更新时间:2023-12-03 17:17:53 25 4
gpt4 key购买 nike

这是我的代码,返回一个保存核心数据文件的目录。

lazy var applicationDocumentsDirectory: NSString = {
// The directory the application uses to store the Core Data store file. This code uses a directory named "com.triplec.WKCC" in the application's documents Application Support directory.
var libP = NSSearchPathForDirectoriesInDomains(.LibraryDirectory, NSSearchPathDomainMask.UserDomainMask, true).first! as NSString
let path = libP.stringByAppendingPathComponent("coredata") as String
let fileManager = NSFileManager.defaultManager()
if fileManager.fileExistsAtPath(path) {
do {
try fileManager.createDirectoryAtPath(path, withIntermediateDirectories: true, attributes: nil)
} catch { }
}
print(path)
return path as NSString
}()

当我在下面调用函数时,它崩溃了。崩溃日志显示无法保存文件。
let url = NSURL.fileURLWithPath(self.applicationDocumentsDirectory.stringByAppendingPathComponent("SingleViewCoreData.sqlite"))
do {
try coordinator.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: url, options: nil)
} catch {
abort()
}

当我没有将字符串附加到libP时,它确实起作用了。
有谁知道如何将核心数据文件保存在我自己创建的目录中?

最佳答案

您甚至还没有测试应该创建目录的代码,以查看其是否有效。这段代码:

if fileManager.fileExistsAtPath(path) {
do {
try fileManager.createDirectoryAtPath(path, withIntermediateDirectories: true, attributes: nil)
} catch { }
}

...表示如果目录 已经存在,则创建它。但是,如果目录不存在,则不执行任何操作。

关于core-data - 将核心数据保存到我自己在LibraryDirectory中创建的目录时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35536181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com