可以通过以下步骤实现:
var tableData = [
"Section 1": ["Row 1", "Row 2", "Row 3"],
"Section 2": ["Row 4", "Row 5"],
"Section 3": ["Row 6"]
]
func numberOfSections(in tableView: UITableView) -> Int {
return tableData.keys.count
}
func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
let sectionTitles = Array(tableData.keys)
return sectionTitles[section]
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
let sectionTitles = Array(tableData.keys)
let sectionKey = sectionTitles[section]
return tableData[sectionKey]?.count ?? 0
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
let sectionTitles = Array(tableData.keys)
let sectionKey = sectionTitles[indexPath.section]
let rowData = tableData[sectionKey]
cell.textLabel?.text = rowData?[indexPath.row]
return cell
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let headerView = UIView()
headerView.backgroundColor = UIColor.lightGray
return headerView
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 30.0
}
通过以上步骤,你可以使用字典填充UITableView的数据,并根据需要自定义section的头部和尾部视图。这种方法适用于需要根据字典的键值对来组织和展示数据的情况。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云