一个视图控制器中有两个表视图,一个表视图未显示

时间:2019-06-07 18:46:53

标签: ios arrays swift uitableview

我在一个Parameters中有两个TableView,只能填充一个表。我已经在视图控制器中为两个表创建了出口。这是我的ViewController

viewDidLoad

似乎唯一可读取的表是 override func viewDidLoad() { super.viewDidLoad() pickerTableView.delegate = self pickerTableView.dataSource = self tableView.delegate = self tableView.dataSource = self tableView.tableFooterView = UIView() pickerTableView.reloadData() tableView.reloadData() } self.tableView的协议中从未读取过pickerTableView

UITableView

}

我还对每个extension MealViewController: UITableViewDelegate, UITableViewDataSource { func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { if tableView == self.tableView { let nameHeaderView = NameHeaderView(frame: CGRect(x: 0, y: 0, width: tableView.frame.size.width, height: 40)) nameHeaderView.delegate = self nameHeaderView.sectionIndex = section nameHeaderView.nameButton.setTitle(Data.userModels[section].name, for: .normal) return nameHeaderView } else { return nil } } func numberOfSections(in tableView: UITableView) -> Int { if tableView == self.tableView { return Data.userModels.count } else { return 0 } } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { if tableView == self.tableView { if Data.userModels[section].isExpandable { return Data.userModels[section].itemModels.count } else { return 0 } } else if tableView == pickerTableView { return Data.userModels.count } else { return 0 } } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { if tableView == self.tableView { let cell = tableView.dequeueReusableCell(withIdentifier: "nameCells", for: indexPath) as! MealTableViewCell cell.setup(itemModel: Data.userModels[indexPath.section].itemModels[indexPath.row]) return cell } else if tableView == pickerTableView { let cell2 = tableView.dequeueReusableCell(withIdentifier: "pickerCells", for: indexPath) as! NamePickerTableViewCell cell2.setup(userModel: Data.userModels[indexPath.row]) print(Data.userModels) return cell2 } else { return UITableViewCell() } } 应用了约束,因此它们都出现在屏幕上。当我运行该应用程序时,显示tableView的数据,但是self.tableView却显示为空。 pickerTableView需要部分,而self.tableView不需要部分,这可能是一个问题吗? pickerTableView数组中也有数据。

仅供参考,这是我的Data.userModels类:

UITableViewCell

}

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

如果您在pickerTableView中不需要任何部分,那么它也必须至少具有一个部分。

所以public class SomeGenericClass<T, T2> { SomeGenericClass(int value) { /// } SomeGenericClass(string somethingElse) { /// } } 时,方法return 1中的numberOfSections

tableview == self. pickerTableView
相关问题