ios - prepareForSegue 无法在 iOS 7 上获取目标 View Controller

标签 ios swift uiviewcontroller uistoryboardsegue

我必须编写一个同时支持 iOS 7 和 8 的 iOS 应用程序,在这个应用程序中,我有两个 View Controller A 和 B,带有导航 Controller ,它们之间有一个 segue。当 segue 激活时,我必须从 View Controller A 获取数据到 View Controller B。我的代码在 iOS 8 上运行良好,但在 iOS 7 上运行不正常。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.

    if segue.identifier == userDataSegue {
        let navController = segue.destinationViewController as? UINavigationController

        if let userDataTableViewController = navController?.topViewController as? UserDataTableViewController {
            userDataTableViewController.userData = user
        }
    }
}

您知道为什么会发生这种情况吗?我该如何解决?我可以通过在 NSUserDefaults 中保存内容并在 vc B 中读取它来“解决”这个问题,但这会使我的代码变得一团糟。

我感谢任何帮助 :D

最佳答案

不要忘记在第二个 ViewController 中创建公共(public)属性 userData。

override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) 
{
if (segue.identifier == "segueTest") {
var svc = segue!.destinationViewController as secondViewController;

svc.userData = user

}
}

关于ios - prepareForSegue 无法在 iOS 7 上获取目标 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30116047/

相关文章:

ios - 无法将类型 '__NSArrayI' (0x10df73c08) 的值转换为 'NSDictionary' (0x10df74108)

ios - 如何在 ios 中隐藏推送通知?

ios - 第二个 TableView 没有显示在屏幕上

ios - 发布 WKNavigationAction 子类在 iOS 15 上崩溃

ios - 从 Rails 到 Swift 格式化时间 - iOS

ios - UITableViewCell 中带有约束的动画启动不正确

ios - 为什么不使用 frameOfPresentedViewInContainerView 定义我的 View Controller 大小使其达到该大小?

objective-c - 子类 UIView 或 UIViewController

android - 将实时视频传输到 iOS 和 Android 的最即时方式

ios - 设置具有多个部分和按钮的 tableviewcontroller