Как заполнить многие разделы в табличном представлении по дате, сохраняя данные в Realm? - PullRequest
0 голосов
/ 07 мая 2019

Я хочу, чтобы в моем табличном представлении было 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
        }
}

Это мой пользовательский интерфейс на данный момент

This is my UI at the moment

Я хочу, чтобы это выглядело примерно так:

I want it to look kinda like this

У меня есть такое расширение:

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)]

Это правильный подход к проблеме? Спасибо за вашу помощь:).

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