-->

UIKit的:调用awakeFromNib编程?(UIKit: call awakeFromNib

2019-09-26 13:18发布

我看到这样的代码:

CoolButton *coolButton = [[CoolButton alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 60.0f, 25.0f)];
[coolButton awakeFromNib];
// ...
[coolButton release];

CoolButton子类UIButton 。 是否确定调用awakeFromNib编程?

什么是这样做,如果我想这样做,在做同样的事情的最好方法-[CoolButton awakeFromNib]对,我想以编程方式创建对象的时间,而不是从笔尖文件?

我应该定义一个方法,并调用它的-[CoolButton awakeFromNib]-[CoolButton initWithFrame] 或者,是否有另一种初始化方法我应该定义被调用在两种情况下:我是否创建一个CoolButton编程或从榫文件?

Answer 1:

没有,没有一个是被两个从笔尖创建的代码创建的对象和对象调用的方法。 你应该写一个包含了常见的初始化逻辑独立的方法,并从两个调用它awakeFromNibinitWithFrame:



Answer 2:

那么awakeFromNib只要所有XIB和NIB之间的连接的设置被调用。 我相信awakeFromNib被称为一个对象时,它是从一个榫文件初始化。 所以,如果你是一个NIB文件编程,并没有创造它,那么就没有必要调用awakeFromNib 。 调用initWithFrame ,在另一方面,听起来像是要走的路。 在此功能,您可以通过编程方式创建视图,而无需一个笔尖文件。 我可能是错的,但我认为initWithFrame无论你的观点被用笔尖或不创建被调用。



文章来源: UIKit: call awakeFromNib programmatically?