根据用户的操作,我需要将用户从一个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}}吗?
答案 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)