在IBAction中:"传递给调用的参数不带参数"

时间:2016-03-23 16:05:57

标签: ios animation closures ibaction swift2.2

enter image description here

从我所见,解决此错误的最佳方法是:

  

传递给不带参数的调用的参数

将使用

do {try ...} and catch {...}

但是,似乎无法在此代码中实现它!

@IBAction func onTapButton(sender: AnyObject) {

    btnFromNib.animate(1, completion: { () -> () in

        var myTabbarController = self.storyboard?.instantiateInitialViewController("myTabbarController") as! UITabBarController
        var appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
        appDelegate.window?.rootViewController = myTabbarController

        myTabbarController.transitioningDelegate = self

        self.presentViewController(myTabbarController, animated: true, completion: nil)
    })

}

1 个答案:

答案 0 :(得分:0)

您尝试使用标识符参数实例化视图控制器,但您没有使用正确的方法。

您应该使用instantiateViewControllerWithIdentifier代替instantiateInitialViewController

参考:https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIStoryboard_Class/index.html#//apple_ref/occ/instm/UIStoryboard/instantiateViewControllerWithIdentifier

  

使用指定的标识符实例化并返回视图控制器。

     

您可以使用此方法创建要在应用程序中以编程方式操作和显示的视图控制器对象。在使用此方法检索视图控制器之前,必须在Interface Builder中使用适当的标识符字符串对其进行显式标记。

     

每次调用时,此方法都会创建指定视图控制器的新实例。