Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 故事板!vs.UIStoryboard(名称:“主要”,捆绑:无)_Ios_Swift - Fatal编程技术网

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
    调用,每次单击都会导致整个应用程序崩溃。