推荐所有以前使用id作为返回类型的工厂方法和init方法应改用instancetype为返回类型。
使用id类型回引起类型安全问题。例如在你头脑发热写出"NSString *s =[NSArray array]“这样的代码,而编译器不会警告(虽然之后当你对创建的NSArray对象发送NSString类专有的方法时会引发崩溃)。
使用instancetyoe能帮你保证一定程度上的通用性,它会始终要求编译器返回值类型必须是消息接受者(或其子类)的类型。
推荐所有以前使用id作为返回类型的工厂方法和init方法应改用instancetype为返回类型。
使用id类型回引起类型安全问题。例如在你头脑发热写出"NSString *s =[NSArray array]“这样的代码,而编译器不会警告(虽然之后当你对创建的NSArray对象发送NSString类专有的方法时会引发崩溃)。
使用instancetyoe能帮你保证一定程度上的通用性,它会始终要求编译器返回值类型必须是消息接受者(或其子类)的类型。
本文标题:ios开发--instancetype
本文链接:https://www.haomeiwen.com/subject/qrbgdxtx.html
网友评论