ios - 调用了 prepareForSegue 但未加载下一个 UIViewController

标签 ios uiviewcontroller swift segue uistoryboardsegue

我正在处理一个带有两个 UIViewController 的应用程序。当应用程序启动时,会触发 LoaderViewController。在该 View Controller 上,我正在设置要启动的应用程序,然后尝试进入 ViewController。问题是正确调用了 prepareForSegue 方法,但它什么也没做。我正在尝试以与之前相同的方式进行导航。我可能在这里错过了什么?我在 iOS 开发方面还是个新手。

 class LoaderViewController: UIViewController {
 @IBOutlet weak var applicationLoadingIndicator: UIActivityIndicatorView!

  override func didReceiveMemoryWarning() {
      super.didReceiveMemoryWarning()
  }

  override func viewDidLoad() {
      super.viewDidLoad()


      applicationLoadingIndicator.startAnimating()
      self.performSegueWithIdentifier("ToMenuViewController", sender: self)
  }

  override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
      var vc: ViewController = segue.destinationViewController as ViewController
  }
}

这是 Storyboard的图片: enter image description here

编辑 - 解决方案:

解决方案是将 performSegueWithIdentifier 调用更改为 viewDidAppear() 方法。

最佳答案

您不应该在 viewDidLoad 中继续搜索,因为那太早了。至少,您应该改为在 viewDidAppear 中继续搜索。

关于ios - 调用了 prepareForSegue 但未加载下一个 UIViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25042491/

相关文章:

ios - 使用 UITabBarController 和/或 UINavigationController 时,仅限制/强制某些 View Controller 到特定方向

ios - 如何在多个 UIViewController 之间共享一个 Storyboard场景

ios - 更新一个 ViewController 中的 NSUserDefaults 数据在另一个 ViewController 中更改

ios - 如何在 Xcode 中设置 UIView 高于 TableView 的动态高度?

ios - 使用UIBezierPath绘制同心圆

ios - CoreData - 将一个实体存储为 'active'

ios - 使用 Xcode 7 测试 iOS 9 应用程序无法从 http 请求获取数据

ios - UITableView 重用section header view : header view disappear when using UITableViewRowAnimationFade

iOS 消息转发方法SignatureForSelector

iOS UINavigationController - 从导航堆栈中删除 View Controller 确实会释放它