1

有没有一种有效的方法可以删除 Core Data 存储中除一个或几个对象之外的所有对象?我们当前的解决方案是删除整个存储(使用RKObjectStore.deletePersistantStore-- 我们使用 RestKit)并重建对象,但这不是最佳的,因为它涉及额外的服务器请求。理想情况下,会有一些很好的方法将对象从存储中“分离”,转储存储,然后重新插入。

谢谢!

4

1 回答 1

0

您可以先获取对象的数量,然后再少取一个:

NSInteger count = [self.managedObjectContext countForFetchRequest:fetchRequest error:nil];
fetchRequest.fetchLimit = count-1;

执行获取,遍历结果并删除它们。

您还可以通过使用 sqlite 框架向存储文件发送vacuum查询来减小数据库大小,但如果无论如何它会再次填满,这并不是必需的。

于 2012-06-06T16:05:15.250 回答