我注意到加载nib/xib文件有两种不同的方法:
通过uiview的initWithNibName:bundle:
方法
nsbundle的loadNibNamed:owner:options:
方法。
有人能解释一下这两者之间的区别吗?在什么情况下,使用一个比另一个更合适?
例如,如果我从table view:viewForHeaderSection:method中的NIB文件加载自定义表节头视图,我将使用哪一个?
或者,如果我从nib文件加载自定义表视图单元格,我将使用哪一个?
最佳答案
NSBundle
的方法是用于非归档nib的通用api。他们做实际的工作(连同NSNib
)。
另一方面,它是一种初始化视图控制器的方法,视图控制器可以从nib加载其视图。方法本身并不加载nib,而是只记录名称。当请求视图时,控制器懒洋洋地加载nib。
我不知道UIViewController
中有任何nib加载。
关于iphone - initWithNibName VS NSBundle的loadNibNamed,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1704166/