【发布时间】:2016-04-15 03:45:09
【问题描述】:
我正在使用带有NSFetchedResultsController 的 Xcode 7.3 和 Swift 2.2。是否可以创建配置了谓词和排序描述符的所需获取请求来解决此问题?
给定具有birthDate 属性的Person 实体,如何配置获取请求以返回即将到来的生日?这是我尝试过的:
我创建了一个名为
birthDateThisYear的临时属性,并将其配置为返回此人今年的生日。但是我发现你不能在 Core Data 的获取请求中使用瞬态属性。我尝试了接受的答案 here,方法是使用
birthDateDayNumber和birthDateMonthNumber属性以及birthDate的自定义设置器进行非规范化,但我无法弄清楚谓词。如果今天是 12 月 31 日呢?不知何故,它需要环绕以包括一月、二月和三月。我读到它可以通过表达式和比较谓词来完成。但我想不出解决办法。有人搞定了吗?
我认为创建一个名为
birthDateInYear2000的非规范化属性是可行的,但同样会遇到相同的重叠问题。
有什么想法吗?
【问题讨论】:
标签: ios swift core-data nspredicate nsfetchrequest