gpt4 book ai didi

iphone - 如何不保留从 NSManagedObjectContext 检索到的 NSManagedObjects

转载 作者:行者123 更新时间:2023-12-03 21:23:29 24 4
gpt4 key购买 nike

我为每个新节点解析一个包含书籍的 xml 文件:

Book *book = (Book*)[NSEntityDescription insertNewObjectForEntityForName:@"Book" inManagedObjectContext:managedObjectContext];

为了获取我的核心数据书实体的 NSManagedObject,然后我继续用数据填充托管 Book 对象,将其添加到数组中,冲洗,重复。

完成后,我向用户呈现图书列表。我还没有执行保存:

NSError *error;
if (![managedObjectContext save:&error]) {
NSLog(@"%@", [error domain]);
}

用户现在选择了一本书,这本书我想保留,但只有这一本,其他所有的书我都不再感兴趣了。图书实体不具有/或者属于任何关系的一部分。它只是一个“单一”实体。

如果我拉动“保存杆”,每个 Book 对象都将被保留,我将不得不删除除我想要的之外的所有内容。

我将如何解决这个挑战,我似乎无法在核心数据编程指南中找到特定的用例,这也让我有点烦恼,我在这里是否违反了最佳实践?

感谢您提供的任何帮助。

最佳答案

是的,您违背了最佳实践。在该用例中,如果您确实不想保存对象,请将它们保留为中间格式,并仅为您想要保留的对象创建一个 Core Data 对象。然而这似乎是完全错误的。

保存其他书籍有什么坏处?是否只能使用一次?

根据您提供的少量信息,似乎需要重新考虑您解决问题的方法。

更新

从上下文中删除未保存的对象的开销非常小,是的,因此考虑到您所拥有的参数,这是最好的解决方案。我问了其他问题,看看是否有一个更干净的整体解决方案,而不是仅仅构建对象然后将它们扔掉。听起来你已经走上了这条路。

关于iphone - 如何不保留从 NSManagedObjectContext 检索到的 NSManagedObjects,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2676935/

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