似乎Objective-C中的大多数init
方法现在倾向于返回instancetype
而不是id
。请参阅[UIView initWithFrame:]
,[UIViewController initWithNibName:bundle:]
,[NSArray init]
和兄弟姐妹等。initWithCoder
使用id
。为什么是这样?它还没有更新吗?或者它有必要是id
吗?
答案 0 :(得分:1)
尚未更新。您仍然可以使用实例类型对其进行编码。
- (instancetype)initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
if (self) {
//...
}
return self;
}