【发布时间】:2016-11-17 19:39:17
【问题描述】:
我有Event 模型与startDate 和endDate。我想将此事件分为 3 个类别。
- 当前:开始日期
- 即将到来:今天
- 过去:endDate
我创建了一个名为 status 的瞬态属性,其中包含上述逻辑并将其用作 NSFetchedResultsController 中的参数
NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext:self.managedObjectContext,sectionNameKeyPath: “状态”,缓存名称:无)
当我运行时,我得到了这个错误,告诉我使用部分作为排序描述符。
CoreData: error: (NSFetchedResultsController) 获取的对象在 索引 2 有一个乱序的部分名称 '1。对象必须按 部分名称'
然后我在排序描述符中设置了这个并得到了这个错误,因为瞬态不能用作排序描述符。
由于未捕获的异常而终止应用程序 'NSInvalidArgumentException',原因:'keypath status not found in 实体'
问题是这部分是从 2 个属性中确定的,因此不能仅按 startDate 或 endDate 排序,而是两者都排序。
解决此问题的最佳方法是什么?我考虑过让这个状态成为非瞬态的,但是这个值每天都会更新,我觉得让它成为非瞬态有点奇怪。
【问题讨论】:
标签: ios core-data nsfetchedresultscontroller