startDate
및 endDate
인 Event
모델이 있습니다. 이 이벤트를 3 가지 카테고리로 정렬하고 싶습니다.NSFetchedResultsController로 시간 기반 임시 속성 사용
- 현재 : startDate를 < 오늘 < endDate가
- 다가오는 : 오늘 <의 startDate
- 과거 : endDate가 나는 논리 위에 포함하고 매개 변수로 사용
status
라는 일시적인 속성을 만든
< 오늘 in NSFetchedResultsController
NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: self.managedObjectContext, sectionNameKeyPath: "status", cacheName: nil)
실행할 때 section을 sort descriptor로 사용하라는 오류가 발생했습니다.
CoreData: error: (NSFetchedResultsController) The fetched object at index 2 has an out of order section name '1. Objects must be sorted by section name'
다음이 정렬 설명자에서 설정하고 transient를 정렬 설명자로 사용할 수 없기 때문에이 오류가 발생했습니다.
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'keypath status not found in entity '
문제는이 부분이 2 곳에서 확인할 수 있습니다, 그래서 그냥 startDate
또는 endDate
하지만, 모두 정렬 할 수 없습니다.
이 문제를 해결하는 가장 좋은 방법은 무엇입니까? 이 상태를 비 일시적으로 만드는 것을 고려해 봤지만이 값은 매일 업데이트됩니다. 일시적이 아닌 이상한 것으로 생각합니다.