我注意到有两种不同的方式来加载 nib/xib 文件:
- 通过 UIView 的
initWithNibName:bundle:
方法 - NSBundle 的
loadNibNamed:owner:options:
方法。
谁能解释这两者之间的区别,什么时候使用一个比另一个更合适,在什么情况下使用?
例如,如果我在 tableView:viewForHeaderInSection: 方法中从 nib 文件加载自定义表格部分标题 View ,我会使用哪一个?
或者,如果我从 nib 文件加载自定义表格 View 单元格,我会使用哪个?
最佳答案
NSBundle
的方法是用于解压 NIB 的通用 API。他们执行实际工作(与 NSNib
一起)。
UIViewController
的 initWithNibName:bundle:
是一种初始化 View Controller 的方法,该 View Controller (可能)从 nib 加载其 View 。该方法本身并不加载 Nib ,而只是记下名称。 Controller 在请求 View 时延迟加载 Nib 。
我不知道 UIView
中有任何 nib 加载。
关于iphone - initWithNibName VS NSBundle 的 loadNibNamed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1704166/