核心数据 - 处理动态属性

时间:2012-08-17 14:22:38

标签: objective-c core-data nsdate

我需要一种方法来处理NSManagedObject子类中的动态属性。我现在要做的是检查date是否传递了对象的[NSDate now](NSDate类)属性。如果该日期是属性传递,则该对象被标记为overdue

因此,每当我需要显示某个对象是否过期时,我需要进行上述比较。因此,此属性可以切换过期状态而不是过期状态。一直做这个检查似乎有点不对劲。有没有办法自动完成这项工作? I. e。每次我从数据库中获取对象时,Core Data都会为我执行上述方法吗?

2 个答案:

答案 0 :(得分:0)

你不应该试图坚持过期状态,因为它取决于一个总是在变化的变量。如果您需要根据下一个过期对象执行某些操作,只需获取未过期的数据,按日期对其进行排序,然后找到下一个过期的数据。然后,您可以执行dispatch_after来执行您的应用在记录过期时执行的操作。

答案 1 :(得分:0)

您可以使用NSManagedObject子类和瞬态属性来实现您所需的功能。

您可以通过创建“瞬态”属性来实现所需的动态属性。您可以通过检查瞬态选项来使属性瞬态化。瞬态属性不会持久保存到本地商店。

使用“新建文件”向导为您的实体创建NSManagedObject子类,它位于“核心数据”类别下。

创建类时,只需为动态属性创建一个getter方法即可返回所需的内容。

现在,您可以在获取请求期间正常使用此功能。