gpt4 book ai didi

ios - 快速删除xcode核心数据模型中的数据

转载 作者:行者123 更新时间:2023-11-28 13:22:13 25 4
gpt4 key购买 nike

我用一个名为“用户”的实体构建了一个模型,该实体具有多个属性。然后我将三个用户的信息存储在这样的实体中。现在我创建一个“重置”按钮以永久删除所有三个用户信息,但保留 SWIFT 语言的数据模型。我试过但出现错误:

EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)

发生在 var storeURL 声明行。以下是我的代码:

@IBAction func deleteIterm(){
var store:NSPersistentStore = NSPersistentStore()
var storeURL:NSURL = store.URL
var storeCoordinator:NSPersistentStoreCoordinator = NSPersistentStoreCoordinator()
storeCoordinator.removePersistentStore(store, error: nil)
NSFileManager.defaultManager().removeItemAtPath(storeURL.path, error: nil)
}

问题出在哪里,如何解决?另外,有什么办法可以手动删除它对应的sqlite文件吗?

最佳答案

您正在创建一个新的 NSPersistantStore 并尝试访问其尚未设置的 URL。您还创建了一个新的 NSPersistentStoreCoordinator,它甚至没有使用商店进行初始化。

您最有可能尝试完成的是删除现有的 NSPersistentStore。你应该像这样捕获它:

@IBAction func deleteIterm(){
var storeCoordinator:NSPersistentStoreCoordinator = /* Your already existing NSPersistantStoreCoordinator */
var store:NSPersistentStore = storeCoordinator.persistantStores[0] as NSPersistantStore
var storeURL:NSURL = store.URL
storeCoordinator.removePersistentStore(store, error: nil)
NSFileManager.defaultManager().removeItemAtPath(storeURL.path, error: nil)
}

如果您正在使用 Xcode 提供的核心数据堆栈,您应该能够通过 appDelegate 访问 NSPersistentStoreCoordinator

关于ios - 快速删除xcode核心数据模型中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24268306/

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