gpt4 book ai didi

ios - 如何使用 Swift 在单个 UIViewController 中实现多个 UITableView?

转载 作者:行者123 更新时间:2023-11-29 00:07:37 26 4
gpt4 key购买 nike

我不知道我的代码有什么问题。我在 Internet 上进行了研究,找不到解决此问题的方法。

我在同一个 UIViewController 中有两个 UITableView。它们都有自己的 UITableView 类和从 MainStoryboard 正确分配的标识符(多次检查,连接牢固。)

viewDidLoad()

    tableView.delegate = self
tableView.dataSource = self
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "PortfolioCell")
barTableView.delegate = self
barTableView.dataSource = self
barTableView.register(UITableViewCell.self, forCellReuseIdentifier: "BarCell")

相关代码:

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if tableView == self.tableView {
return selCur.count
} else {
return selCur.count
}
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

if tableView == self.tableView {
guard let cell = tableView.dequeueReusableCell(withIdentifier: "PortfolioCell", for: indexPath) as? PortfolioCell else { return UITableViewCell() }

let noVal = selCur.count[indexPath.row].rank ?? 0
let nameVal = selCur.count[indexPath.row].name ?? "N/A"

cell.configureCell(no: noVal, name: nameVal)
}
}
return cell

} else {
guard let cell = tableView.dequeueReusableCell(withIdentifier: "BarCell", for: indexPath) as? BarCell else { return UITableViewCell() }
let noVal = selectedCurrencies[indexPath.row].rank ?? 0
let nameVal = selectedCurrencies[indexPath.row].name ?? "N/A"

cell.configureCell(no: noVal, name: nameVal)
}
}
return cell
}
}

我猜,cellForRowAt 方法会返回常规的 UITableViewCell,而不是自定义的“PortfolioCell”或“BarCell”。我也尝试了 tableView.tag 方法并得到了相同的结果。

提前谢谢你。

最佳答案

您必须正确注册每个单元格。

tableView.register(PortfolioCell.self, forCellReuseIdentifier: "PortfolioCell")

或者如果您的单元格带有 .xib

tableView.register(UINib(nibName: "PortfolioCell", bundle: nil),
forCellReuseIdentifier: "PortfolioCell")

如果单元格在 Storyboard中,您甚至不需要注册它。

关于ios - 如何使用 Swift 在单个 UIViewController 中实现多个 UITableView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47582820/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com