-(instancetype)initWithDict:(NSDictionary*)dict;
+(instancetype)xxxWithDict:(NSDictionary*)dict;
在一些構造方法中返回類型用instancetype 比較好,蘋果推薦用。
1、instancetype 編譯器可以檢測她的真實類型,id類型不能檢測
2、instancetype 最為返回類型上跟id 一樣可以表示所有類型
3、instancetype 只能作為返回值類型
比如: ?id xxx=@“123”;但是不能instancetype xxx = @“123”;
NSString *xxx = [SunModel sunWithDict:dict]; 這樣賦值是錯誤的 ,但是編譯器不會知道,因為沒有去檢測他的真實類型,但是instancetype作為返回值,編譯器就會報警告。
!!!!所以以后返回值是任意類型的時候一律用instancetype。()