- 先来看看
OC
中直接加载 XIB 的方式
+ (instancetype)myView {
return [[[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self) owner:nil options:nil] lastObject];
}
注意:
1. 该方法是一个类方法;
2. 需要将 XIB 中的所属类和类文件名进行关联;
-
Swift
中的 XIB 文件加载方式
class func homeCustomNavHeaderView() -> HomeCustomNavHeaderView {
return Bundle.main.loadNibNamed("HomeCustomNavHeaderView", owner: nil, options: nil)?.last as! HomeCustomNavHeaderView
}
Q: 为什么 XIB 中的 outlet 使用 weak 修饰?
A: loadNibNamed()
方法中已经明确说明过,使用loadNibNamed()
解档 nib 文件中的对象时,系统使用setValue:forKey
方法对属性和事件进行赋值和连接,完成后,系统会自动对outlet属性进行强引用。
网友评论