2017-10-20 109 views
0

我想一些额外的属性存储在不与其他(持续性)特性保存到持久性存储在一起,我的管理对象,即只存储在内存中,以便在应用程序重新启动后,这些非持久性属性会重置为默认值。这是在应用程序退出清除核心数据的属性(或不保存到永久存储)

我已经研究过使用瞬态性能,但是当对象从另一个屏幕再次获取它们会丢失,因此不适合我的情况。

核心数据是否有这样的东西?

+0

我不知道我完全理解你的问题,但听起来像['内存中'商店类型](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CoreData/PersistentStoreFeatures .html)是你在找什么(?) – Alladinian

+0

@Alladinian我已经更新了我的问题。简而言之,我想拥有非持久属性和持久属性,但是当从MOC(或另一个MOC)重新获取对象时,它们将保留。 – iosdude

回答

0

我曾与存储的核心数据之外的额外价值很好的经验。 我使用了一个字典,其中的键是core-data属性的id,并且该值是另一个可变字典。这允许快速查找任何这些额外的属性。我在消息传递应用中使用它来跟踪当前的在线状态。

主要缺点是,所有的搜索和排序在内存中,而不是在数据库级别上工作要做,但它不是一个大问题。

0

如果您使用的NSManagedObject子类(这通常是真实的),那么你可以添加额外的属性,这些子类。这些属性没有什么特别之处,因为不是所有的属性都需要管理。像在任何其他课程中一样创建它们。

你要告诉Xcode中使用“类别/扩展”代码生成的实体,而不是“类定义”,这样就可以编辑类文件。但一旦你完成了,只需添加你需要的任何属性。核心数据不会知道或关心他们。

相关问题