好的,我看过很多论坛,但我没有发现任何具体的问题。
这是如何在Firts UITableView中加载第一个UITableViewCell。 ViewController中的负载:
tableDetails.delegate = self
tableDetails.dataSource = self
tableDetails.register(UITableViewCell.self, forCellReuseIdentifier: "DepartureDetailTableViewCell")
问题是我不知道如何从ViewController在xib文件中的第二个UITableView中加载第二个UITableViewCell。有什么帮助吗?而且,如何为第二个UITableView / UITableViewCell做这个。
PD。:参见本教程,但他在ViewController中使用原型单元格:https://www.youtube.com/watch?v=znGd5kyIdgM
请帮助!
更新
好的,我用@Abdelahad Darwish解决方案来解决问题!但我有另一个问题...当在DepartureDetailTableViewCell中加载DepartureInsideTableViewCell时......没有显示任何内容......它显示如下:
必须在两个视图的中间显示DepartureInsideTableViewCell" 2018年5月30日 - 01:04"和" 5月30日,07:47"
任何帮助?
答案 0 :(得分:1)
首先为您的MainTableView
从Xib注册正常单元格
只是做正常,DepartureDetailTableViewCell将拥有所有Datasource和委托内部单元格像这样:
不要忘记编写正确的单元格标识符等等
在ViewController中:
class ViewController: UIViewController,UITableViewDataSource,UITableViewDelegate {
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.register(UINib.init(nibName: "DepartureDetailTableViewCell", bundle: nil), forCellReuseIdentifier: "DepartureDetailsTableViewCell")
self.tableView.delegate = self
self.tableView.dataSource = self
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "DepartureDetailTableViewCell", for: indexPath) as! DepartureDetailTableViewCell
return cell
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 4 // cell data source
}
}
在DepartureDetailTableViewCell中:
class DepartureDetailTableViewCell: UITableViewCell {
@IBOutlet weak var tableView:UITableView!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
self.tableView.register(UINib.init(nibName: "DepartureInsideTableViewCell", bundle: nil), forCellReuseIdentifier: "DepartureInsideTableViewCell")
self.tableView.delegate = self
self.tableView.dataSource = self
}
}
extension DepartureDetailTableViewCell: UITableViewDelegate,UITableViewDataSource{
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "DepartureInsideTableViewCell", for: indexPath) as! DepartureInsideTableViewCell
return cell
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 4 // cell data source
}
}