我使用界面构建器设置了标签栏控制器,每个标签栏项链接到一个视图控制器(4个标签,4个视图控制器).我想知道Interface Builder是否使用-init
方法来初始化视图控制器,因为显然这个方法没有被调用:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil;
......我想做一些初始化.我无法添加它,-viewDidLoad
因为它在内存警告的情况下被召回.任何的想法?
从a加载的对象*.(nib|xib)
包括:
- (id)initWithCoder:(NSCoder *)inCoder;
所以你可以覆盖它,或者如果在-initWithCoder:
调用后进行设置不是你可以使用的问题:
- (void)awakeFromNib;
来自NSNibAwaking协议.
我也打算提initWithCoder
VS awakeFromNib
.
通常,我initWithCoder
在为对象分配内存或设置值时会覆盖.在连接IBOutlet后需要进行一些设置时,请覆盖awakeFromNib
.在此之前,IBOutlet实例变量与其他视图和控件之间没有连接.
听起来你想要实现-(void) awakeFromNib
.
NSNibAwaking协议参考(需要ADC登录)