我希望表格视图具有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)]
这是解决问题的正确方法吗?谢谢您的帮助:)。