我读到了:
要创建页面内容视图控制器,我们添加一个帮助器方法。 在这种方法中,在某一点上,有这一行:
if let pageContentViewController = storyboard?.instantiateViewControllerWithIdentifier("PageContentViewController") as? PageContentViewController { ....` } `
我的问题是:
为什么之前" 故事板"还没有被宣布,但现在出现在上面一行?
答案 0 :(得分:0)
有时为了简化项目,项目是在各种故事板上构建的。
如果您只有一个故事板,您知道要在这个故事板上访问其他视图控制器,您可以说:
self?.instantiateViewController....
// Here self refers to itself.. the only storyboard you havve
但是,在您的代码中,正在尝试跨不同的storyBoard访问视图控制器。这个不同的故事板会有一个id(你在活动检查器中设置)
//This is how you access a view controller in a different storyboard
let storyboard = UIStoryboard(name: "yourStoryBoardID", bundle: nil)
let controller = storyboard.instantiateViewControllerWithIdentifier("yourViewControllerID") as UIViewController
self.presentViewController(controller, animated: true, completion: nil)
此链接:" http://www.newventuresoftware.com/blog/organizing-xcode-projects-using-multiple-storyboards"非常有助于提供多个故事板的参考。
说清楚:它与页面视图控制器无关,这是因为我们使用多个故事板。 此外,如果您能提供更多代码或参考资料会更好。
答案 1 :(得分:0)
您的storyboard?
变量应该是您拥有PageContentViewController
的UIStoryboard的一个实例。上面的Akshansh Thakur代码向您展示了如何创建UIStoryboard,使用它。
它没有被声明,因为我认为理解如何创建PageContentViewController
已经足够清楚了。无论如何,在您的代码行上方创建storyboard
变量
if let pageContentViewController = storyboard?.instantiateViewControllerWithIdentifier("PageContentViewController") as? PageContentViewController { ....
}