Сортировка разделов NSFetchedResultsController по диапазону дат - PullRequest
1 голос
/ 07 ноября 2019

Я пытаюсь отсортировать разделы моего NSFetchedResultsController по диапазону дат.

В моей модели базовых данных у меня есть дополнительное свойство даты, которое будет использоваться, но оно будет использоваться в разделах в табличном представлении,Я хочу, чтобы каждый раздел табличного представления представлял определенный диапазон дат. Вот диапазон:

  • Раздел 0: элементы с датой, начинающейся сегодня или до сегодняшнего дня
  • Раздел 1: элементы с завтрашней датой
  • Раздел 2 ... 7: каждый раздел увеличивается на один день
  • Раздел 8: элементы без даты

Мне удалось выполнить это с помощью второго массива с именем "items", не используя NSFetchedResultsController сэтот код:

request.predicate = NSPredicate(format: "date <= %@", Date.getEndDate(dateIncrease: 0) as NSDate)
items[0] = try context.fetch(request)

for dayIncrease in 1 ... 6 {
     request.predicate = NSPredicate(format: "date >= %@ && date <= %@", Date.getStartDate(dateIncrease: dayIncrease) as NSDate, Date.getEndDate(dateIncrease: dayIncrease) as NSDate)
     items[dayIncrease] = try context.fetch(request)
}

request.predicate = NSPredicate(format: "date = nil")
items[7] = try context.fetch(request)

tableView.reloadData()

Теперь я хотел бы перевести эту логику на NSFetchedResultsController, но мне не повезло. NSFetchedResultsController создает разделы со свойством sectionNameKeyPath, но я не могу использовать строку для представления необходимого диапазона дат для каждого элемента.

Может кто-нибудь помочь мне отсортировать разделы моего табличного представления по этому диапазону дат

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...