gpt4 book ai didi

iphone - 核心数据: Create multiple managed objects,但只保存一些?

转载 作者:行者123 更新时间:2023-12-03 18:39:36 26 4
gpt4 key购买 nike

我正在尝试为我的应用程序编写一个收藏夹系统。我已经将我的模型转换为托管对象。想象一下,向用户呈现一个包含此类对象列表的屏幕。他们可以选择将一些内容保存到自己的收藏夹中,这会将它们保留在核心数据中。

问题是,当我创建所有这些模型对象时,我是使用托管对象上下文来创建的。如果用户将单个实体保存到他们的收藏夹中,它将保存整个上下文,并保留每个实体。额外内容不会出现在他们的收藏夹中,因为添加到收藏夹会构造一个“收藏夹”实体,该实体会被保存并指向该对象,而其他实体则不会拥有该对象。但所有其他对象都将被不必要地保存。

设计 iPhone 收藏夹系统的标准方法是什么?我是否应该将模型分成两类,一类是我向用户展示的,另一类是保存到数据库的?这样我就可以构建我的模型,而无需将它们放入 MOC。但这将是一个具有所有相同字段的重复类。

最佳答案

实际上并没有一个标准的方法来做到这一点,因为 Core Data 希望您保存您创建的对象。但是,如果您使用以下命令创建对象:

id object = [[NSManagedObject alloc] initWithEntityDescription:entity inManagedObjectContext:nil];

他们没有上下文可以保存。然后对于您需要保存的内容,您可以:

[[self managedObjectContext] insertObject:object];

然后在上下文上调用-save:,只有那些已经设置了上下文的才会保存。

关于iphone - 核心数据: Create multiple managed objects,但只保存一些?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3576743/

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