如何快速编写if / else语句,以便在iOS tableview中单击特定单元格时将其转到特定的viewController

时间:2019-04-25 21:45:16

标签: ios swift

我有一个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。

2 个答案:

答案 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)
    }