如何按日期填充Tableview中的许多部分,并使用Realm保留的数据?

时间:2019-05-07 04:20:28

标签: ios swift uitableview

我希望表格视图具有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)]

这是解决问题的正确方法吗?谢谢您的帮助:)。

0 个答案:

没有答案