objective-c - 将非持久变量添加到 nsmangedobject

标签 objective-c core-data nsmanagedobject

我有一个 NSManagedObject 的子类,我想添加几个 ivars 来跟踪一些簿记。我不希望这些变量持续存在,因此我不将它们作为数据模型的一部分。

我无法找到执行此操作的正确方法。

  • 我是否应该只在我的类中创建 ivar,创建相应的属性,然后在实现中综合它们?
  • 我不应该创建 ivar,而只是声明属性,然后在实现中 @dynamic 属性吗?
  • 我应该采取其他方法吗?

我应该在我的 NSManagedObject 子类中进行所有定制,还是应该创建我的子类的子类,这样如果我更改我的数据模型,我就不会在使用 xcode 生成时丢失所有定制我的 NSManagedObject 子类自动生成?

谢谢!

最佳答案

NSManagedObject 的文档中有一个名为Custom Instance Variables 的部分。它讨论了这两种方法。

transient 、建模属性和 ivar 都是很好的解决方案。这取决于品味和风格。

如果您使用 ivars,请记住一个非常重要的要点:您需要在 - (void)didTurnIntoFault 中清除 ivars 并在 - 中设置任何初始值(void)awakeFromFetch- (void)awakeFromInsert。您需要触及-didTurnIntoFault 中的任何建模属性或关系,否则您会遇到麻烦。

关于objective-c - 将非持久变量添加到 nsmangedobject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9243363/

相关文章:

objective-c - 特定格式的 NSString 到 NSDate 转换

ios - 后台线程上的核心数据获取请求仅适用于第一次获取

objective-c - iOS - 核心数据模型与邮件框架冲突?

ios - 如何在 Objective C 中异步加载数据 UITableview 滚动和核心数据获取

objective-c - 如何在 objective-c 中实现多个 Controller

ios - 如何在代码中更新Core Data数据库中的NSManagedObjects?

objective-c - 子类化 NSNumber

ios - 如何切换 ViewController?

objective-c - 尖峰去除算法

ios - 核心数据的UISearchBar性能问题