2015-08-21 29 views
0

Objective-C中的大多數init方法現在傾向於返回instancetype而不是id。請參閱[UIView initWithFrame:],[UIViewController initWithNibName:bundle:],[NSArray init]和兄弟姐妹等,但initWithCoder使用id。爲什麼是這樣?它只是沒有更新?或者是否有一個原因是它必須是id爲什麼initWithCoder不返回實例類型?

+0

它使用'instancetype'作爲iOS的9/OX 10.11 – rmaddy

+0

'instancetype' [被隱式地理解爲'初始化...'反正](http://clang.llvm.org/docs/LanguageExtensions。 HTML#相關對結果類型)。 –

回答

1

它尚未更新。您仍然可以使用實例類型對其進行編碼。

 - (instancetype)initWithCoder:(NSCoder *)aDecoder { 
    self = [super initWithCoder:aDecoder]; 
    if (self) { 
     //... 
    } 
    return self; 
} 
相關問題