1
次のコードは私のdidSelect行関数のものです。目的は、テーブル行に触れることに基づいて異なることをする2つのテーブルを持つことです。最初の部分は正常に動作します。 tableView 2がタッチされると、印刷行が動作し、行が選択解除されますが、tableView 3が選択されていれば印刷が呼び出されません。両方のtableViewsには、viewController内にアウトレットがあります。didSelectRowAt 2つのテーブルSwift
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if tableView == self.tableView2 {
sorted = true
print ("TEST")
filteredDevices.removeAll()
filteredOS.removeAll()
filteredReported.removeAll()
filteredMac.removeAll()
filteredVersion.removeAll()
let facility = defaults.object(forKey: "facility") as! String
self.tableView.reloadData()
tableView2.deselectRow(at: tableView2.indexPathForSelectedRow!, animated: true)
}
if tableView == tableView3 {
sorted = true
print ("test")
filteredDevices.removeAll()
filteredOS.removeAll()
filteredReported.removeAll()
filteredMac.removeAll()
filteredVersion.removeAll()
self.tableView.reloadData()
print ("test")
tableView3.deselectRow(at: tableView3.indexPathForSelectedRow!, animated: true)
}
}
複数のテーブルを同じビューコントローラで使用することを提案するだけでは、別のデリゲートオブジェクトを作成して、各メソッドにどのテーブルビューが表示されていないかを確認することができます。 – BJHStudios