故事情节!与UIStoryboard(名称:“Main”,bundle:nil)

时间:2015-09-29 18:03:26

标签: ios swift

我进入了一个具有以下声明的项目:

UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("asdf") as! AsdfViewController

我一直用storyboard!来做这件事。我的理解是storyboard!总是会给我UIStoryboard(name: "Main", bundle: nil)。这是一个危险的假设吗?

我知道如果你想引用不同的故事板文件,你可能想要使用UIStoryboard的官方构造函数,但是如果你确定VC可以将其缩写为storyboard!是安全的您希望实例化是Main.storyboard的一部分吗?

1 个答案:

答案 0 :(得分:3)

如果您从另一个故事板文件中的视图控制器调用isEmpty,它将引用该特定故事板;不是主要的故事板。提到:

self.storyboard

您可以确保始终引用主故事板。

在以下情况中:

  1. 只有一个故事板文件
  2. 实例化视图控制器,该控制器也包含在当前视图控制器的故事板中
  3. 使用UIStoryboard(name: "Main", bundle: nil) 就足够了。