似乎我在两者中看到了它们。鉴于他们不相互继承,这很有趣。他们也有一些共同的祖先,但哪一个拥有initWithCoder和iniwWithNibName?
那是什么给了什么?
同样在UIViewController引用类中,根本没有提到initWithCoder
-(id)initWithCoder:(NSCoder *)aDecoder
{
//NSString * superClass =NSStringFromClass([self superclass]) ;
self = [self initWithNibName:nil bundle:nil];
if (self) {
}
return self;
}
答案 0 :(得分:4)
这样的问题应该从参考文档中的搜索开始。
initWithNibName:bundle:
是UIViewController
的方法,没有其他类(扩展UIViewController
的类除外)。
initWithCoder:
是NSCoding
协议中声明的方法。符合NSCoding
协议的任何类(并且有许多)都将使用initWithCoder:
方法。 UIView
和UIViewController
都实现了NSCoding
协议,这意味着这两个类都有initWithCoder:
。
答案 1 :(得分:0)
initWithCoder,initWithNibName all表示您可以使用.xib文件创建视图。