从CoreData获取给定属性具有相同值的对象?

Posted

技术标签:

【中文标题】从CoreData获取给定属性具有相同值的对象?【英文标题】:Fetch objects having the same value for a given property from CoreData? 【发布时间】:2015-07-02 08:54:00 【问题描述】:

我想从 CoreData 获取生日相同的人?

或者一般来说,如果我有一组人 [Person] 其中Person 类如下

Person 
 var name: String
 var birthday: NSDate

我想根据生日而不是生日对人进行分组,所以我想要[NSDate:[Person]] 字典。

所以有人可以帮我解决这个问题吗?任何帮助表示赞赏。

【问题讨论】:

【参考方案1】:

NSDate 精确到 10 毫秒,因此首先您必须确保所有日期具有相同的小时和秒。

在 Core Data 中进行分组的最佳方式是使用 NSFetchedResultsController。您可以将日期用作sectionNameKeyPath,它会自动为您分组。获取结果控制器中的项目可以通过索引路径轻松访问,对于表视图非常有用。

【讨论】:

以上是关于从CoreData获取给定属性具有相同值的对象?的主要内容,如果未能解决你的问题,请参考以下文章

仅获取共享特定属性值的 Core Data 对象

对象数组的对象。获取具有相同属性的所有值的长度

CoreData 获取孩子的父母

如何从对象数组中获取具有属性的列表,除非它包含具有特定值的另一个项目?

具有相同值的 NSManagedObjects 的 CoreData NSSet-Like 行为

Grails:查找具有列表属性的对象,其中包含具有给定属性值的对象