我有一个BaseClass
UIViewController 类。它运作良好。BaseClass
有 BaseClass.xib
然后我创建了该基类的子类。
结果没有一个插座连接。
我放
- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
return self;
}
是的,就这样。它被称为。我不确定 aDecoder 是什么。我认为它是 childClass 的 XIB 的表示,它不存在。我想用super的xib初始化super。
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
}
return self;
}
永远不会被调用。
事实上,我自己也很困惑。当我们有 xib 时,它似乎就是 -(id)initWithCoder:(NSCoder *)aDecoder
被调用的那个。所以我想知道 initWithNibName 是干什么用的?
我试过了
- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithNibName:NSStringFromClass([super class]) bundle:nil];
return self;
}