iPhone:按月分组 - 核心数据

时间:2010-04-01 23:18:48

标签: iphone

我将日期存储在核心数据实体中 属性,然后我显示日期 表格单元格。我想把所有人分组 细胞按月数而且只有 显示相关日期 正确的部分。

我正在使用的sectionNameKeyPath NSFetchedResultsController,但我需要 仅使用日期中的月份 组。我怎样才能做到这一点?我可以吗 需要创建一个新的属性和 将月份存储为字符串或 我可以使用NSPredicate吗?

如果有人,请任何人都可以告诉我 这样做或给我一些 实例

由于

2 个答案:

答案 0 :(得分:5)

第一步,确保项目中有一个托管对象类,代表存储日期的核心数据实体。第二步,在该实体的实现文件中,编写一个返回该对象月份的方法。它应该查看日期变量并使用NSDateComponents方法来确定月份。您无需为其创建新属性。第三步,初始化NSFetchedResultsController时,将返回月份的方法名称作为sectionNameKeyPath参数传递。您实际上在做的是创建一个“getMonth”方法,该方法以编程方式确定月份,并将其返回的值提供给sectionNameKeyPath。我希望这很清楚。如果没有,请询​​问澄清。

请注意。确保您的月份方法以适当顺序(即不按字母顺序)排序的方式返回月份,并且表视图将其转换为有意义的字符串。

答案 1 :(得分:4)

Apple有一个非常棒的样本,展示了如何实现这一目标。我认为这正是你要找的。

退房:http://developer.apple.com/library/ios/#samplecode/DateSectionTitles/Introduction/Intro.html#//apple_ref/doc/uid/DTS40009939