我希望在托管对象中存储一些其他属性,这些属性不会与其他(持久性)属性一起保存到持久性存储中,即仅存储在内存中,以便在重新启动应用程序后重置这些非持久性属性回到默认值。
我已经研究过使用瞬态属性但是当从另一个屏幕再次获取对象时它们会丢失,所以不适合我的情况。
Core Data有这样的东西吗?
答案 0 :(得分:0)
我在核心数据之外存储额外值方面有很好的经验。 我使用了一个字典,其中键是core-data属性的id,值是另一个可变字典。这允许快速查找任何这些额外属性。我在消息应用程序中使用它来跟踪当前的在线状态。
主要缺点是所有搜索和排序都必须在内存中完成,而不是在数据库级别上完成,但这不是一个大问题。
答案 1 :(得分:0)
如果您正在使用NSManagedObject
的子类(通常为true),那么您可以向这些子类添加额外的属性。这些属性没有什么特别之处,因为并非所有属性都需要管理。像在其他任何课程上一样创建它们。
您需要告诉Xcode为实体使用“类别/扩展”代码生成而不是“类定义”,以便您可以编辑类文件。但是一旦你完成了,只需添加你需要的任何属性。核心数据不会知道或关心它们。