我试图了解发送者值如何在segues中工作.
在我的代码中的一些地方都有效:
performSegueWithIdentifier("mySegue",sender: self) performSegueWithIdentifier("mySegue",sender: sender)
但是拥有自我/发送者有什么区别?
解决方法
正如@ iosDev82在他的回答中所说,sender是一个可选项,用于命名触发segue的对象(如果有的话).
如果通过视图控制器中的代码触发segue,则可以传递视图控制器(self),或者可以传递nil.它只是传递给prepareForSegue的一条信息(再次像iOSDv82所说的那样).
如果您在IBAction方法的代码中触发segue,您的IBAction可能拥有它自己的sender参数(通常是一个按钮.)在这种情况下,您可以将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) }