我在一个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
}
感谢您的帮助!
答案 0 :(得分:1)
如果您在pickerTableView中不需要任何部分,那么它也必须至少具有一个部分。
所以public class SomeGenericClass<T, T2>
{
SomeGenericClass(int value)
{ /// }
SomeGenericClass(string somethingElse)
{ /// }
}
时,方法return 1
中的numberOfSections
。
tableview == self. pickerTableView