了解performSegueWithIdentifier

Sim*_*zen 50 xcode objective-c uikit ios segue

有人比我更了解performSegueWithIdentifier:sender:我吗?我需要切换视图(和类),并将一些NSStrings和ID带到该视图的类.我想知道这是否可行performSegueWithIdentifier:sender:

谢谢!

jrt*_*ton 77

首先,您必须在故事板中设置segue 并为其指定适当的标识符.(单击segue(左侧面板),然后单击"属性"(右侧面板).

然后,您可以将其链接到故事板中的按钮或选择表行,或者您可以使用代码在代码中调用它performSegueWithIdentifier:sender:.

在此之后,您的视图控制器将被发送prepareForSegue:sender:消息.您在视图控制器子类中重写此方法,并可以按如下方式配置目标视图控制器:

TargetViewController *targetVC = (TargetViewController*)segue.destinationViewController;
targetVC.string1 = string1;
Run Code Online (Sandbox Code Playgroud)

等等.在sender这一方法将是您作为使用对象sender在原来的方法调用.


ret*_*unt 9

大多数segues是由于某些用户交互而自动启动的.例如,如果您有一个从按钮连接到故事板中的场景的segue,当点击该按钮时,segue将自动启动.

偶尔,以编程方式触发segue是有意义的 - 例如,当用户赢得一轮游戏时,您会显示一个高分数场景.没有办法在故事板本身中表达获胜的概念,因此您可以创建一个segue,为其分配标识符,并-performSegueWithIdentifier:sender:在运行时调用.

UIViewController上的另一个与segue相关的方法-prepareForSegue:sender:是您应该覆盖以在目标视图控制器上执行任何自定义的方法.