gpt4 book ai didi

ios - 删除/重置核心数据中的所有条目?

转载 作者:IT王子 更新时间:2023-10-29 07:25:31 26 4
gpt4 key购买 nike

你知道有什么方法可以删除存储在 Core Data 中的所有条目吗?我的模式应该保持不变;我只想将其重置为空白。


编辑

我希望以编程方式执行此操作,以便用户基本上可以点击 reset 按钮。

最佳答案

您仍然可以使用 NSFileManager:removeItemAtPath::方法以编程方式删除文件。

NSPersistentStore *store = ...;
NSError *error;
NSURL *storeURL = store.URL;
NSPersistentStoreCoordinator *storeCoordinator = ...;
[storeCoordinator removePersistentStore:store error:&error];
[[NSFileManager defaultManager] removeItemAtPath:storeURL.path error:&error];

然后,只需重新添加持久存储以确保正确重新创建它。

迭代每个实体的编程方式既慢又容易出错。这样做的用途是如果你想删除一些实体而不是其他实体。但是,您仍然需要确保保持参照完整性,否则您将无法保留您的更改。

只需删除商店并重新创建它既快速又安全,而且当然可以在运行时以编程方式完成。

iOS5+ 更新

随着 iOS 5 和 OS X 10.7 引入外部二进制存储(允许 ExternalBinaryDataStorage 或 Store in External Record File),仅删除 storeURLs 指向的文件是不够的。您将留下外部记录文件。由于这些外部记录文件的命名方案是不公开的,所以我还没有一个通用的解决方案。 – an0 2012 年 5 月 8 日 23:00

关于ios - 删除/重置核心数据中的所有条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1077810/

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