gpt4 book ai didi

iphone - NSManagedObject 临时使用,如何在 NSObject 和 NSManagedObject 之间切换

转载 作者:行者123 更新时间:2023-12-03 20:26:57 29 4
gpt4 key购买 nike

我正在为我的 iPhone 应用程序使用核心数据模型。我一直在寻找一种在 ManagedObjectContext 之外实例化或使用实体的方法。 (我知道这是不应该做的,我也更多地寻找一种不这样做的方法,但无论如何都能获得好处)。

我的挑战是我有一个 View ,用户可以在其中搜索“Persons”,所有搜索结果都会被解析并放入 Person 的托管对象中,然后显示在列表中。如果用户单击列表中的某个人,那么我才会希望将该人实体持久保存到存储中,但这需要我删除所有其他结果,以便它们不会与所需的结果一起持久保存。据我所知,如果用户决定退出该应用程序,该商店将被保留,可能会将所有当前搜索结果与真实用户数据混合在一起!

有什么办法可以让我可以将 TempPerson NSObject 用于搜索列表吗?然而,我不必手动从临时对象中提取 45 个属性,并将它们手动设置在托管对象上!

有点像:NSManagedObject aPersonCorrectlyReturnedFromTheStore = (NSManagedObject *)tempPersonOfJustTypeNSObject

我看过 Apple 的示例代码,他们在其中构建了一个临时存储,以方便在尚未持久化的对象上进行撤消/重做和其他操作。我觉得这对于我的情况来说有点过分了。我只需要显示搜索结果,直到用户选择要保留的人员。

希望我清楚我想做什么,感觉我的核心数据词汇量还不够大:)

感谢您的任何建议。

最佳答案

您可以将每个临时人员对象创建为 NSDictionary 或 NSMutableDictionary。然后,您可以创建一个新的 Person 托管对象,并利用 NSManagedObject 实例符合 KVC 的事实并使用 setValuesForKeysWithDictionary:。

关于iphone - NSManagedObject 临时使用,如何在 NSObject 和 NSManagedObject 之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1740086/

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