swift - performSegueWithIdentifier 未执行

标签 swift segue

我正在尝试使用 segue,这是我的代码:

if let status_code = response.response?.statusCode {
    if status_code == 200 {
        // register is ok
        // cancel all warnings
        self.usernameField.hidden = false;
        self.usernameFieldError.hidden = true;
        self.usernameShortError.hidden = true;
        self.usernameTakenError.hidden = true;

        self.performSegueWithIdentifier("registerToFeed", sender: self);
    }
}

(为了长度我已经删减了代码)
所以这就是问题所在:segue 根本没有执行。我在它上面放了一个断点,看看会发生什么,而执行流程只是通过它,什么也不做,非常令人沮丧

我读到需要在主线程上调用 performSegueWithIdentifier,所以我在调用 segue 之前调用了 NSThread.isMainThread(),它返回了 true.

我还仔细检查了标识符名称是否与我正在调用的名称相同,情况确实如此。

我试过

dispatch_async(dispatch_get_main_queue()){
    self.performSegueWithIdentifier("registerToFeed", sender: self)
}

正如我在 another SO thread 中看到的那样,但仍然无法正常工作,没有执行任何操作。

所以我不知道为什么这个简单的行没有被执行。感谢您的帮助。

编辑:所以这是完整的 RegisterViewController.swift 文件:
http://pastebin.com/dpBBXhe8

问题是程序在第 190 行崩溃,因为没有执行 performSegue。

最佳答案

这段代码是在viewDidLoad方法中吗?如果是这样,您必须将其移动到 viewDidAppear

关于swift - performSegueWithIdentifier 未执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37689188/

相关文章:

ios - 在 NSIndexPath 上意外发现 nil 运行时错误

swift - 使用 XMLParsing swift 库发布请求时出现错误 401

在 AWS Mobile SDK 中使用 Quickblox Pod 文件的 iOS 构建错误

iOS:让segue等待登录成功

ios - 在 View Controller 之间传递类?

ios - Swift - 如何从照片库中获取最后拍摄的 3 张照片?

ios - iOS8中如何删除WKWebview的缓存?

ios - 在 Storyboard 中的 ViewController 之间切换

objective-c - 如何更改 ViewController 之间的 segue 速度

swift - iOS Swift - 将数据从第一个 ViewController 传递到第三个 ViewConTroller