在使用委托和数据源更新UITableView时,即使视图控制器是一个“子”控制器,可以按照以下步骤进行操作:
以下是一个示例代码:
import UIKit
class MyViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
var tableView: UITableView!
var data: [String] = ["Item 1", "Item 2", "Item 3"]
override func viewDidLoad() {
super.viewDidLoad()
tableView = UITableView(frame: view.bounds, style: .plain)
tableView.delegate = self
tableView.dataSource = self
view.addSubview(tableView)
}
// MARK: - UITableViewDataSource
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return data.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell(style: .default, reuseIdentifier: "Cell")
cell.textLabel?.text = data[indexPath.row]
return cell
}
// MARK: - UITableViewDelegate
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
// Handle row selection
}
}
这样,即使视图控制器是一个“子”控制器,你仍然可以使用委托和数据源更新UITableView。根据具体需求,你可以根据数据源的变化更新表格内容,并处理用户与表格的交互事件。
领取专属 10元无门槛券
手把手带您无忧上云