UIStoryboard()中的nil和NSBundle有什么区别?

时间:2015-10-28 17:59:06

标签: ios swift uistoryboard nsbundle

我已经看到这两个被大量使用,但我找不到有什么区别:

let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle())

let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle:nil)

那么将捆绑设置为nilNSBundle.mainBundle()之间的区别是什么?

1 个答案:

答案 0 :(得分:7)

实际上这两者之间没有区别。无论您指定nil还是NSBundle.mainBundle(),都将引用主要包。

  

包含故事板文件及其相关资源的捆绑包。   如果指定nil,则此方法将在主捆绑中查找   目前的申请。

参考:UIStoryboard Class Reference

除了bundle:之外,当您需要访问其他捆绑包中的信息时,mainBundle()参数将非常有用。例如,许多第三方库附带了自己的包,用于包装该特定库使用的资源。因此,如果您想访问这些资源,则需要引用该捆绑包。