Я хочу, чтобы в моем табличном представлении было 3 разных раздела с заголовками «Сегодня», «Завтра» и «Предстоящие дни».
Это мой класс предметов:
class Item : Object {
@objc dynamic var title : String = ""
@objc dynamic var done : Bool = false
@objc dynamic var note: String = ""
@objc dynamic var dateCreated : Date?
convenience init(title: String, note: String) {
self.init()
self.title = title
self.note = note
self.dateCreated = Date()
self.done = false
}
}
Это мой пользовательский интерфейс на данный момент
Я хочу, чтобы это выглядело примерно так:
У меня есть такое расширение:
extension Date {
static var yesterday: Date { return Date().dayBefore }
static var tomorrow: Date { return Date().dayAfter }
var dayBefore: Date {
return Calendar.current.date(byAdding: .day, value: -1, to: noon)!
}
var dayAfter: Date {
return Calendar.current.date(byAdding: .day, value: 1, to: noon)!
}
var noon: Date {
return Calendar.current.date(bySettingHour: 12, minute: 0, second: 0, of: self)!
}
var month: Int {
return Calendar.current.component(.month, from: self)
}
var isLastDayOfMonth: Bool {
return dayAfter.month != month
}
}
Я думаю, что решением будет создание другого списка, который содержит 3 подсписка, как показано ниже:
var itemList : Results<Item>!
var itemInTableList = [[itemList.filter("dateCreated == %@", Date())], [itemList.filter("dateCreated == %@", Date.tomorrow)], [itemList.filter("dateCreated > %@", Date.tomorrow)]
Это правильный подход к проблеме? Спасибо за вашу помощь:).