直接从 xib 文件实例化 UIViewController 哪个更好?
Instantiating a UIViewController directly from a xib file which is better?
我正在做一个项目,在这个项目中我使用 xib 而不是故事板,所以我想从 xibs 实例化我的 UIViewControllers,我看到了两种方法,第一种一个是
let viewController = UINib(nibName: "ViewController", bundle: NSBundle.mainBundle()).instantiateWithOwner(nil, options: [:]).first as! ViewController
还有这个方法
let viewController = ViewController(nibName: "View", bundle: NSBundle.mainBundle())
我总能看到它四处漂浮。为什么我应该使用第二种方法而不是第一种方法,使用第一种方法是否有缺点,是否被认为是不好的做法?澄清第一种方法是从 xib 实例化整个 ViewController。因为在 xib 中有一个 UIViewController 直接放在那里,第二个有一个以视图控制器为所有者的视图。
这是一个基于意见的问题(或者更确切地说是征求意见作为答案),但我会让它滑动。 :)
我之所以说第一种方法是 "bad practice" 或晦涩难懂,正如 Phillip Mills 正确指出的那样)是因为您基本上是在 xib 上做出假设,并且可能加载比您必须加载的更多的内容。第二种方法适用于专门属于您的 ViewController class 的 xib(如果名称合适,您甚至不必指定,至少在 Objective-C 等效项中) .因此 xib 是初始化器的一个参数。
第一种方法走的路比较长。它加载一个笔尖(并且其中可能也包含任何其他对象)。然后您假设其顶层的第一个对象是您想要的视图控制器。情节提要中的一次意外拖累,您会因意想不到的行为而大吃一惊。此外,您还省略了 owner 参数,这可能会或可能不会产生影响,具体取决于您的操作。
一般来说,第一种方法是使用一种更适合作为多个对象容器(不一定是视图控制器)的 xib 的方法,而第二种方法是通常的方法(或 "best practice") 加载视图控制器及其关联的 xib 文件时。
你可以走第一条路线,但那基本上是穿着袜子徒步旅行,imo。它有效,但人们会以一种奇怪的方式看着你...
我正在做一个项目,在这个项目中我使用 xib 而不是故事板,所以我想从 xibs 实例化我的 UIViewControllers,我看到了两种方法,第一种一个是
let viewController = UINib(nibName: "ViewController", bundle: NSBundle.mainBundle()).instantiateWithOwner(nil, options: [:]).first as! ViewController
还有这个方法
let viewController = ViewController(nibName: "View", bundle: NSBundle.mainBundle())
我总能看到它四处漂浮。为什么我应该使用第二种方法而不是第一种方法,使用第一种方法是否有缺点,是否被认为是不好的做法?澄清第一种方法是从 xib 实例化整个 ViewController。因为在 xib 中有一个 UIViewController 直接放在那里,第二个有一个以视图控制器为所有者的视图。
这是一个基于意见的问题(或者更确切地说是征求意见作为答案),但我会让它滑动。 :)
我之所以说第一种方法是 "bad practice" 或晦涩难懂,正如 Phillip Mills 正确指出的那样)是因为您基本上是在 xib 上做出假设,并且可能加载比您必须加载的更多的内容。第二种方法适用于专门属于您的 ViewController class 的 xib(如果名称合适,您甚至不必指定,至少在 Objective-C 等效项中) .因此 xib 是初始化器的一个参数。
第一种方法走的路比较长。它加载一个笔尖(并且其中可能也包含任何其他对象)。然后您假设其顶层的第一个对象是您想要的视图控制器。情节提要中的一次意外拖累,您会因意想不到的行为而大吃一惊。此外,您还省略了 owner 参数,这可能会或可能不会产生影响,具体取决于您的操作。
一般来说,第一种方法是使用一种更适合作为多个对象容器(不一定是视图控制器)的 xib 的方法,而第二种方法是通常的方法(或 "best practice") 加载视图控制器及其关联的 xib 文件时。
你可以走第一条路线,但那基本上是穿着袜子徒步旅行,imo。它有效,但人们会以一种奇怪的方式看着你...