我创建新的ViewController并拖动新的UITableView它可以工作,但在我之前的两个ViewControllers中无法工作。
以下所有我已经完成了:
并且我的所有数据都可以加载到tableview中,唯一的东西是不能选择行,在MainViewController中实际上我只有一个表视图,另一个用于测试。
- 这是viewcontroller之一,我的tableview无法选择行但可以加载数据,这里我只有一个tableview,但要测试我创建一个新的表视图
extension MainViewController: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 10
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if tableView == self.tableview_restaurants {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! RestaurantsCell
cell.label_name.text = "OMG Restaurant # \(String(indexPath.row))"
return cell
}
else if tableView == self.tableview_test {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! TableviewtestCell
cell.label_test.text = String(indexPath.row)
return cell
}
else {
let cell = UITableViewCell()
return cell
}
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
//tableView.deselectRow(at: indexPath, animated: true)
if tableView == self.tableview_restaurants {
}
else if tableView == self.tableview_test {
print("select this row")
print(indexPath)
}
}
}
extension SearchFilterViewController: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
var numberofrowsinsecion:Int = 0
if (tableView == self.tableview_quickfilters) {
numberofrowsinsecion = json_quickfilters["filters"].arrayValue.count
//print(numberofrowsinsecion)
}
else if (tableView == self.tableview_cuisinetype) {
numberofrowsinsecion = json_cuisinetype["cuisine_types"].arrayValue.count
//print(numberofrowsinsecion)
}
return numberofrowsinsecion
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if (tableView == self.tableview_quickfilters) {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! QuickFiltersCell
let filter = json_quickfilters["filters"].arrayValue
if let filter_name = cell.label_quickfiltersname {
filter_name.text = filter[indexPath.row]["name"].stringValue
filter_name.font = Common.Config.FontSize.XL_L
}
return cell
}
else if (tableView == self.tableview_cuisinetype) {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! CuisineTypeCell
let cuisinetype = json_cuisinetype["cuisine_types"].arrayValue
if let cuisinetype_name = cell.label_cuisinetypename {
cuisinetype_name.text = cuisinetype[indexPath.row]["name"].stringValue
cuisinetype_name.font = Common.Config.FontSize.XL_L
}
return cell
}
else {
let cell = UITableViewCell()
return cell
}
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if (tableView == self.tableview_quickfilters) {
print(indexPath)
//let cell = tableView.cellForRow(at: indexPath) as! QuickFiltersCell
} else if (tableView == self.tableview_cuisinetype) {
print(indexPath)
//let cell = tableView.cellForRow(at: indexPath) as! CuisineTypeCell
}
}
}