【发布时间】:2020-09-25 14:34:06
【问题描述】:
我有一个字典,其中包含一个 Date 的键/值对,其中包含一组按相同日期分组的自定义对象 Meals。
膳食对象:
class Meal: NSObject, Codable {
var id: String?
var foodname: String?
var quantity: Float!
var brandName: String?
var quantityType: String?
var calories: Float!
var date: Date?
}
在我的 TableView 中:
var grouped = Dictionary<Date, [Meal]>()
var listOfAllMeals = [Meal]() //already populated
self.grouped = Dictionary(grouping: self.listOfAllMeals.sorted(by: { ($0.date ?? nilDate) < ($1.date ?? nilDate) }),
by: { calendar.startOfDay(for: $0.date ?? nilDate) })
override func numberOfSections(in tableView: UITableView) -> Int {
// #warning Incomplete implementation, return the number of sections
return grouped.count
}
override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
return Array(grouped.keys)[section] as! String //this throws a thread error
}
这允许用户每天多次上传餐点以供将来查看,现在我想在 TableView 中显示餐点,按日期划分并按最新排序。我如何做到这一点?
【问题讨论】:
-
你在这个问题中使用我的答案很有趣,这是否意味着它对你有用?
标签: ios swift uitableview tableview swift-dictionary