Core data 分解核心数据日期属性-好主意?

Core data 分解核心数据日期属性-好主意?,core-data,Core Data,我正在学习核心数据,我有一个项目正在启动和运行,它可以很好地存储、创建、检索、更新和删除实体。到目前为止,我喜欢使用核心数据 我有一个简单的实体,它有5个属性。其中一个是约会。我叫它dateCreated。我在我的应用程序中使用了一个TabBar,我希望能够在不同的屏幕上按年份、月份和月份详细信息进行排序。我有几个问题,关于什么是好的实践,什么是好的表现 因此,理想情况下,我希望我的集合视图按年份划分,每个单元格包含一个月,将它们带到月表。目前在我的一个选项卡中有一个加载用户创建的数据的UITa

我正在学习核心数据,我有一个项目正在启动和运行,它可以很好地存储、创建、检索、更新和删除实体。到目前为止,我喜欢使用核心数据

我有一个简单的实体,它有5个属性。其中一个是约会。我叫它dateCreated。我在我的应用程序中使用了一个TabBar,我希望能够在不同的屏幕上按年份、月份和月份详细信息进行排序。我有几个问题,关于什么是好的实践,什么是好的表现

因此,理想情况下,我希望我的集合视图按年份划分,每个单元格包含一个月,将它们带到月表。目前在我的一个选项卡中有一个加载用户创建的数据的UITableView,但我还没有按年份和月份对其进行细分。这意味着他们可以继续输入日期和其他信息,而一张表却不断变大。我希望使用Date属性my-dateCreated属性在我的集合视图中为每个月将表分解为多个表。似乎所有的数据都已准备就绪,可以以我想要的方式进行缩微操作和显示,但我不确定这是否是最好的方式,甚至不确定这是否是使用核心数据时的标准做法。我想我可以使用相同的表来加载基于年份和月份的数据。而不是制作多张月表

我的问题很冗长:我应该创建更多的日期属性,还是使用表格视图中显示的dateCreated,使用格式化程序将其显示为“2013年7月31日”。换句话说,我可以仅根据dateCreated属性分解用户创建的数据。 第二我知道如何使用NSFetchedResutsController从核心数据堆栈“获取”数据并在TableView中获取数据,但如果我想在不包含表视图的屏幕中显示实体的某些属性,该怎么办。我应该仍然使用NSFetchedResultsController,还是应该使用其他东西?Apple Docs on Fetching Data展示了如何从要显示的实体中获取特定属性,但它似乎太多代码,太简单了,我想我看错了部分

好的,我理解这听起来有点混乱,所以我想知道我是否应该使用dateCreated属性来分解数据,或者创建更多的日期属性,一个用于年,一个用于月,并保留一个用于dateCreated的属性,并以这种方式对其进行排序。另外,如果我只想在屏幕上显示某些属性数据而不显示表,我是否仍应使用NSFetchedResultsController


如果你提供任何帮助,谢谢你的帮助。我在学习核心数据方面玩得很开心。它的功能非常强大。

您可能需要将用于获取的谓词调整为:

    NSDate *startDate = ....;
NSTimeInterval length;

[[NSCalendar currentCalendar] rangeOfUnit:NSMinuteCalendarUnit 
                                startDate:&startDate
                                 interval:&length 
                                  forDate:startDate];

NSDate *endDate = [startDate dateByAddingTimeInterval:length];

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(eDate >= %@) AND (eDate < %@)", startDate, endDate];
NSDate*startDate=。。。。;
时间间隔长度;
[[NSCalendar currentCalendar]单位范围:NSMinuteCalendar单位
开始日期:&开始日期
间隔:&长度
forDate:startDate];
NSDate*endDate=[startDate dateByAddingTimeInterval:length];
NSPredicate*谓词=[NSPredicate谓词格式:@“(eDate>=%@)和(eDate<%@)”,开始日期,结束日期];