• 注册
当前位置:1313e > 默认分类 >正文

instancetype VS id

 英文好的直接读下面链接的文章就好了:

http://stackoverflow.com/questions/8972221/would-it-be-beneficial-to-begin-using-instancetype-instead-of-id

https://developer.apple.com/library/ios/releasenotes/ObjectiveC/ModernizationObjC/AdoptingModernObjective-C/AdoptingModernObjective-C.html#//apple_ref/doc/uid/TP40014150-CH1-SW11

简单小结一下,就这么几点:

1 使用 instancetype 编译器和IDE 会做类型检查,而id不会做完整的类型检查

2 instancetype 只能用来定义OC方法的返回值类型

3 显式的使用init方法的时候,二者本质上是无区别的,即使用的是id,编译器也会翻译成instancetype. 但毫无疑问,使用instancetype更清晰.

4 instancetype有类型检查. 主要体现在+ (instancetype)factoryMethodA; 之类的方法上.

5 从一致性的角度考虑,所有用id作为返回值类型的方法都应该将返回值类型替换为instancetype.

 

转载于:https://www.cnblogs.com/agger0207/p/4471453.html

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 162202241@qq.com 举报,一经查实,本站将立刻删除。

最新评论

欢迎您发表评论:

请登录之后再进行评论

登录