gpt4 book ai didi

xcode - 如何处理进入同一个 View Controller 的两个 segue?

转载 作者:行者123 更新时间:2023-12-04 12:42:41 25 4
gpt4 key购买 nike

我有一个 iPhone 应用程序,我目前正在使用 Storyboard 在 XCode 4.3 中构建。我有一个“根” View Controller ,其中包含一个包含 UIWebView 的 View Controller 的两 (2) 个序列。我希望能够识别转场(已经为两个转场设置了唯一标识符),以便我可以根据在“根” View Controller 中激活的转场将正确的内容“推送”到 UIWebView。

我想我必须使用“prepareForSegue”方法,但不知道它会去哪里。我在哪里可以找到如何处理进入同一个 View Controller 的两个 segue? (我已经用谷歌搜索了它,但没有发现适合我的情况)。

这是我正在使用的代码:

-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"helpSegue"]) {
NSLog(@"helpSegue");
}
else if ([segue.identifier isEqualToString:@"reportSegue"]) {
NSLog(@"reportSegue");
}
}

最佳答案

你不会打电话-prepareForSegue:sender: ,您将在您的 View Controller 中实现它。在该方法的覆盖中,您可以检查 segue 的 identifier属性(segue 作为参数传入):

if ([segue.identifier isEqualToString:@"Segue Numero Uno"]) {
// do something here
}

这让您可以根据导致转换的转场采取某种行动。您可以在 Storyboard编辑器中为每个 segue 设置标识符。

更新:根据您在评论中提供的代码(我已将其添加到您的问题中),您现在有了正确的想法。在这一点上,这只是一个很好的老式调试问题。要检查的一些事项:
  • Storyboard中的 View Controller (即有问题的 segues 导致的 View Controller )是否设置为实现此 -prepareForSegue:sender: 的类的实例? ?在 Storyboard中检查 Controller 的类型。
  • 您在代码中使用的字符串是否与您在 Storyboard中为 segue 设置的标识符完全匹配?大写、拼写、标点符号和空格都算数。
  • 是您的 -prepareForSegue:sender:方法被调用?在那里放置一个断点并调试。如果被调用,segue 的标识符是什么?传进去了?如果它没有被调用,则 Storyboard中的 View Controller 没有正确的类。
  • 关于xcode - 如何处理进入同一个 View Controller 的两个 segue?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9609676/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com