1

根据关于的UIViewController评论initWithNibName:bundle:

If you invoke this method with a nil nib name, then this class' -loadView method will attempt to load a NIB whose name is the same as your view controller's class.

我总是将我的笔尖命名为与视图控制器相同。

将 nil 传递给两个参数而不是 nib 名称字符串是否是一种不好的做法(即不安全、速度较慢或可能导致问题)?

想要这样做的主要驱动愿望是我发现在 Xcode 中使用重构选项不会重命名 nib 名称字符串(只有在使用它们的地方的类名)。因此,如果不小心返回并在任何地方重命名它们,就会导致崩溃。

4

1 回答 1

7

这不是不安全或缓慢的。这只是意味着将进行额外检查以查看与您的类同名的 NIB 是否确实存在于包中,然后它将被完全加载,就像您传递了 NIB 名称一样。除非您决定更改命名 NIB 的方式,否则它不会引起问题。面对,有一个关于如何是一个糟糕的初始化程序的完整讨论,并且只使用更好。-initWithNibName:bundle:-init

于 2013-03-16T02:08:58.123 回答