Ios 故事板!vs.UIStoryboard(名称:“主要”,捆绑:无)
我被投入了一个有以下声明的项目:Ios 故事板!vs.UIStoryboard(名称:“主要”,捆绑:无),ios,swift,Ios,Swift,我被投入了一个有以下声明的项目: UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("asdf") as! AsdfViewController 我一直使用故事板以执行此操作。据我所知,情节提要将始终给我UIStoryboard(名称:“Main”,bundle:nil)。这是一个危险的假设吗 我知道,如果您想引用不同的故事板文件,您可能需要使用UIStoryboard的官方构造函数,
UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("asdf") as! AsdfViewController
我一直使用故事板代码>以执行此操作。据我所知,情节提要
将始终给我UIStoryboard(名称:“Main”,bundle:nil)
。这是一个危险的假设吗
我知道,如果您想引用不同的故事板文件,您可能需要使用UIStoryboard
的官方构造函数,但将其缩写为故事板是否安全
如果您确定要实例化的VC是Main.storyboard
?的一部分,如果您从另一个storyboard文件上的视图控制器调用self.storyboard
,它将引用该特定的storyboard;不是主要情节提要。提到:
UIStoryboard(name: "Main", bundle: nil)
您可以确保始终引用主情节提要
在下列情况下:
只有一个脚本文件
实例化一个视图控制器,该视图控制器也包含在当前视图控制器的故事板中
使用self.storyboard
就足够了。即使您只有一个故事板文件self.storyboard
如果您的视图控制器不是从故事板创建的,也可能不够。因此,如果您使用多个故事板,使用故事板是不明智的代码>?@KelvinLau:个人意见(可能不是真的)。如果您非常确定是否从同一故事板调用,请使用self.storyboard
。我最近遇到了一个问题:我从一个故事板文件开始了我的一个项目。随着项目的扩大,主情节提要的大小也随之增加。所以有一天,我开始重新构造主情节提要,添加新的情节提要文件,并将视图控制器与之分离。你知道接下来发生了什么吗?由于self.storyboard
调用,每次单击都会导致整个应用程序崩溃。