在下面的代码中,我有一个操作/按钮,当您点击该按钮时,您将带您进入另一个viewController(SecondViewController),一切正常,但是有一些我不完全了解的代码。

这行代码在做什么?

secondVC.delegate =自我

我们在说什么代表?如果我只需要转到其他视图并且不传递任何数据,真的需要吗?

@IBAction func goToView(sender: AnyObject) {
    let secondVC= storyboard?.instantiateViewControllerWithIdentifier("secondViewController") as! SecondViewController
    secondVC.delegate = self // is this needed?
    self.presentViewController(secondVC, animated:true, completion:nil)
}

最佳答案

  • secondVC.delegate =自我


  • 这行编码是将您站在其中的当前类的对象引用传递给SecondViewController。现在,您可以通过使用secondViewController中的委托对象来调用firstViewController(我假设为此名称)的方法。


  • 不需要此委托


  • ,如果您只是想转到下一个屏幕(在您的情况下为SecondViewController)。


  • 有用的代码:


  • 接下来的操作会将您带到下一个控制器,请确保您没有NavigationController。与NavigationController一样,您必须将ViewController推入堆栈。
    @IBAction func goToView(sender: AnyObject) {
        let secondVC= storyboard?.instantiateViewControllerWithIdentifier("secondViewController") as! SecondViewController
        self.presentViewController(secondVC, animated:true, completion:nil)
    }
    

    或在NavigationController的情况下
    @IBAction func goToView(sender: AnyObject) {
    
    let secondVC = self.storyboard?.instantiateViewControllerWithIdentifier("secondViewController") as? SecondViewController
        self.navigationController?.pushViewController(secondVC!, animated: true)
    }
    

    希望我的描述性回答对您有所帮助。随时在评论中提问。

    谢谢。

    关于ios - 转到第二个viewController,没有问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39079202/

    10-11 19:58