以编程方式在Swift中的视图控制器之间移动用户

时间:2015-01-10 02:37:47

标签: ios swift ios8

根据用户的操作,我需要将用户从一个view controller移动到另一个completeSession(),具体取决于他们是按时完成任务还是按下按钮完成任务。两者都调用相同的方法class JournalViewController

我已经进入故事板并为每个与视图控制器类相同的屏幕添加了Storyboard ID。因此,对于此问题,JournalViewController的情节提要ID为SecondViewController,与func completeSession() -> Void { ... some other stuff, unrelated ... let journalViewController = self.storyboard?.instantiateViewControllerWithIdentifier("JournalViewController") as ViewController self.presentViewController(journalViewController, animated: true, completion: nil) } 相同

reason: Storyboard <UIStoryboard> doesn't contain a view controller with identifier JournalViewController

这不起作用并导致我的应用程序崩溃class JournalViewController: UIViewController, UITextView Delegate {,但JournalViewController.swift包含:

SecondViewController

知道如何在没有错误的情况下从JournalViewController推送到{{1}}吗?

2 个答案:

答案 0 :(得分:0)

我想你可以在这里查看帖子: What is a StoryBoard ID and how can i use this?

因此,您必须了解如何将代码与图形连接起来。在 Storyboard 出来之前,我们使用 NSBundle 来加载图形。所以,这里同样的是你将如何加载你的图形。因为故事板不仅仅包含一个屏幕。所以,你将有一些东西来识别它们。这就是我们需要的原因。

答案 1 :(得分:0)

要回答我自己的问题,这段代码有效,缺少的部分会进入故事板,并为每个项目提供一个故事板ID。

instantiateViewControllerWithIdentifier依靠您的故事板ID成功抓取它,以便应用知道将用户推送到哪里。

我希望有所帮助。

let journalViewController = self.storyboard?.instantiateViewControllerWithIdentifier("JournalViewController") as JournalViewController
self.presentViewController(journalViewController, animated: true, completion: nil)