我有一个tableView,其中有多个单元格转到单个viewController。我正在为特定的单元格设置一个新的viewController,当选中它时,它将为该特定的单元格打开自己的viewController。当选择转到其自己的ViewController(将是第三个VC)时,如何为第二个单元格添加另一个if / else语句?如何在Swift中正确实现呢?
我已经有一个if / else语句,当选择“ 0”部分的行“ 0”中的单元格进入互惠视图控制器时。它工作正常,但是,如何为部分“ 0”行“ 20”中的单元格添加另一个语句以转到其自己的viewController。我是新手,正在迅速尝试正确地学习。任何帮助将不胜感激。
`override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if ((indexPath.section == 0) && (indexPath.row == 0)) {
performSegue(withIdentifier: "reciprocityView", sender: nil);
if ((indexPath.section == 0) && (indexPath.row == 20)) {
performSegue(withIdentifier: "InterestViewController", sender: nil)
}
} else {
let productLine = productLines[indexPath.section]
let product = productLine.products[indexPath.row]
selectedProduct = product
performSegue(withIdentifier: "showProductDetail", sender: nil)}
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?){
if segue.identifier == "showProductDetail" {
let DetailVC = segue.destination as! DetailViewController
DetailVC.product = selectedProduct
}
}
}`
由于我添加了(((indexPath.section == 0)&&(indexPath.row == 20,因此该单元格将继续转到默认的viewController而不是InterestViewController。
答案 0 :(得分:0)
您的第二个if语句永远不会触发,因为您是从第一个if语句内部调用它。单元格行不能同时为0和20。您还需要其他if语句。
v1 <- c("555","Word 123", "two words 123", "three words here 123")
答案 1 :(得分:0)
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if(indexPath.section == 0)
{
newworkrequest()
}else if(indexPath.section == 1)
{
requestlist()
}
}
@objc func newworkrequest()
{
let viewcontroller : new_work_request = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "newworkRequest") as! new_work_request
self.navigationController?.pushViewController(viewcontroller, animated: true)
}
@objc func requestlist()
{
let viewcontroller : workrequestlist = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "requestlist") as! workrequestlist
self.navigationController?.pushViewController(viewcontroller, animated: true)
}