ios - 为什么我的 segue 没有被执行?

标签 ios objective-c uistoryboardsegue

我有一个 segue 应该在许多事情之一发生时发生,所以它以编程方式调用,如下所示:

- (void)unwindAway
{
    NSLog(@"Let's segue");
    [self performSegueWithIdentifier:@"mySegue" sender:self];
    NSLog(@"We should have just performed the segue");
}

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    NSLog(@"Let's do a segue");
}

但是我在控制台中得到的输出是:

2014-05-29 22:20:30.173 My App[7848:60b] Let's segue
2014-05-29 22:20:30.178 My App[7848:60b] We should have just performed the segue

如您所见,它甚至没有调用 prepareForSegue。

segue 名称是正确的 - 如果我提供无效的 segue 名称,它会如您所料出现错误。

有什么想法吗?

最佳答案

对于 unwind segues,prepareForSegue:sender: 在作为 segue 源的 View Controller 上调用,换句话说,就是您要退出的 View Controller 。

关于ios - 为什么我的 segue 没有被执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23943296/

相关文章:

ios - UICollectionViewCell 没有 present 成员(为了呈现另一个 View )?

android - React Native 中的推送通知

ios - 每次 UIWindow 的 rootviewcontroller 改变时如何回调

ios - 在后台运行 iOS 应用程序以从 Twitter 获取数据

java - 如何反序列化来自 RESTful Web 服务的 JSON 响应?

objective-c - 如何在 Storyboard中设置初始 ViewController 的委托(delegate)

ios - 将值从 TableView Controller 传递到 View Controller

iphone - UIStoryboardSegue 和 WebView

iphone - 我怎样才能让 NSTimer 在用户使用应用程序的整个过程中一直运行?

ios - 滑动控制像锁屏 objective-c