我正在更新我的一个应用程序,并且已经在该应用程序的其他区域中使用了此方法,并且该方法可以工作,但是由于某种原因,它无法在tableView上工作。
tableView在ViewController(CurrencyViewController)的内部
@IBOutlet weak var tableView: UITableView!
tableView.dataSource = self
extension CurrencyViewController: UITableViewDataSource {
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 200.0
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return currencies.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "currencyCell")! as! CurrencyTableViewCell
cell.name.text = currencies[indexPath.row].currencyName
cell.name.textColor = Styles.whiteColor()
cell.symbol.text = currencies[indexPath.row].currencyCode
cell.symbol.textColor = Styles.whiteColor()
cell.backgroundColor = Styles.mainColor();
return cell
}
}
tableView本身可以工作,只是不更新行的高度。
Swift的更新有什么变化吗?
答案 0 :(得分:2)
您似乎不符合UITableViewDelegate
吗?
extension CurrencyViewController: UITableViewDataSource, UITableViewDelegate
答案 1 :(得分:1)
如果在IB删除中连接了dataSource
(和delegate
)
tableView.dataSource = self
您还必须在扩展名中采用UITableViewDelegate
,仅连接委托是不够的
extension CurrencyViewController: UITableViewDataSource, UITableViewDelegate {