ios开发--instancetype
2017-08-28 本文已影响20人
不做大哥好多年
推荐所有以前使用id作为返回类型的工厂方法和init方法应改用instancetype为返回类型。
使用id类型回引起类型安全问题。例如在你头脑发热写出"NSString *s =[NSArray array]“这样的代码,而编译器不会警告(虽然之后当你对创建的NSArray对象发送NSString类专有的方法时会引发崩溃)。
使用instancetyoe能帮你保证一定程度上的通用性,它会始终要求编译器返回值类型必须是消息接受者(或其子类)的类型。