instancetype、id、NSObject的区别
来源:互联网 发布:律师事务所php源码 编辑:程序博客网 时间:2024/05/11 21:00
1、instancetype只能用于方法的返回类型,而id用处和NSObject *类似。
2、instancetype会告诉编译器当前的类型,这点和NSObject *类似,但id对于编译器却是无类型的,调用任何方法不会给出错误提示。
3、对于init方法,id和instancetype是没有区别的。因为编译器会把id优化成instancetype。当明确返回的类型就是当前Class时,使用instancetype能避免id带来的编译不出的错误情况。
4、NSObject Class和id都是仅包含了一个Class isa。但NSObject 包含了更多方法的定义。
5、id和instancetype都能省去具体类型,提高代码的通用性。而这是NSObject *不及的。
6、个人认为:instancetype是对id和NSObject *两者不足的一个补充。
参考链接:
http://tewha.net/2013/02/why-you-should-use-instancetype-instead-of-id/
http://stackoverflow.com/questions/7903954/why-use-id-when-we-can-just-use-nsobject
http://unixjunkie.blogspot.jp/2008/03/id-vs-nsobject-vs-id.html
0 0
- id、NSObject *、id<NSObject>、instancetype的区别
- instancetype、id、NSObject的区别
- instancetype、id、NSObject的区别
- instancetype、id、NSObject的区别
- OC中 instancetype、id、NSObject的区别
- NSObject instancetype id
- id & instancetype 的区别
- id ,NSObject, id<NSObject>的区别
- iOS id、NSObject、id<NSObject>的区别
- id和instancetype和NSObject
- instancetype和id的区别
- instancetype和id的区别
- instancetype和id的区别
- instancetype 和id的区别
- instancetype 和 id 的区别
- instancetype和id的区别
- id 和 instancetype 的区别
- id 和instancetype的区别
- POJ 3984-----E - 广搜记录路径 基础
- 建议性锁和强制性锁机制下的锁
- 寻找正在连接中的网络连接
- 源码分析之一:abator工程架构
- 关于查询前10条记录及分页查询,复习回顾
- instancetype、id、NSObject的区别
- WCF配置文件
- 反序列化JSON字符串 &遍历JObject
- c-bit相关操作
- Java中字符串转数组
- CString的截取
- (八十八)VFL语言初步 - 实现布局
- Redis 基本类型
- HDU 1372 Knight Moves