swift performSegueWithIdentifier发送者值

Kiw*_*Tew 7 ios segue swift

我试图了解发送者值如何在segues中工作.

在我的代码中的一些地方都有效:

performSegueWithIdentifier("mySegue", sender: self)

performSegueWithIdentifier("mySegue", sender: sender)
Run Code Online (Sandbox Code Playgroud)

但是拥有自我/发件人之间有什么区别?

Dun*_*n C 15

正如@ iosDev82在他的回答中所说,sender是一个可选项,它命名触发segue的对象(如果有的话).

如果通过视图控制器中的代码触发segue,则可以传递视图控制器(self),或者可以传递nil.这只是传递给prepareForSegue的一条信息(再次像iOSDv82所说的那样).

如果在IBAction方法的代码中触发segue,则IBAction可能具有自己的发送者参数(通常是按钮).在这种情况下,您可以将sender参数传递给performSegueWithIdentifier方法.

例:

@IBAction func buttonAction(sender: UIButton)
{
  //In this case the button IBAction takes a pointer to the button as a param.
  //Pass it on to the segue in case performWithSegue needs it. 
  self.performSegueWithIdentifier("someID", sender: sender)
}
Run Code Online (Sandbox Code Playgroud)