我有一个名为“Event”的实体,它有s开始和结束日期属性。我必须通过在UI中按日期对事件进行分组来显示事件列表。我正在使用NSFetchedResultsController
来获取和列出事件。
让我们假设一个事件有今天的开始日期和明天的结束日期,这里我需要在UI的两个不同日期显示这个事件,但我在数据库中只有一个条目。
我真的不想为事件创建多个条目,我也希望使用获取结果控制器,因为它减少了批量手动计算。有什么方法可以解决这个问题吗?
NSFetchedResultsController
很好地将NSManagedObjects
与indexViews匹配为tableView。但是,映射是一对一的,因此任何给定的事件只能在indexPaths中出现一次。为了达到你想要的效果,你需要创建一个新的实体,比如EventDate
,它具有从Event
到EventDate
的多对多关系。定义一个字符串属性,该属性反映日期是在事件的开始还是结束。然后将您的FRC建立在EventDate
实体上。虽然每个EventDate只出现一次,但多个EventDate可能与单个事件有关。从EventDate到Event的反向关系将使您能够从多个EventDates访问单个事件的详细信息。