instancetype和id的区别
来源:互联网 发布:江西淘宝大学 编辑:程序博客网 时间:2024/05/17 21:31
相同点
都可以作为方法的返回类型
不同点
①instancetype可以返回和方法所在类相同类型的对象,id只能返回未知类型的对象
+ (id)appWithArray:(NSArray *)array;LZApp *app = [LZApp appWithArray:array];NSString *string = [LZApp appWithArray:array]; (因为id是未知类型,系统不报错,运行后崩溃)+ (instancetype)appWithArray:(NSArray *)array;LZApp *app = [LZApp appWithArray:array];NSString *string = [LZApp appWithArray:array]; (系统⚠️提示,因为类型不一致)
②instancetype只能作为返回值,不能像id那样作为参数
- (void)setValue:(instancetype)value; // 报错- (void)setValue:(id)value; // 正确
0 0
- instancetype和id的区别
- instancetype和id的区别
- instancetype和id的区别
- instancetype 和id的区别
- instancetype 和 id 的区别
- instancetype和id的区别
- id 和 instancetype 的区别
- id 和instancetype的区别
- instancetype和id的区别
- instancetype和id的区别
- instancetype和id的区别
- instancetype和id的区别
- id和instancetype的区别
- instancetype 和 id 的区别
- instancetype和id的区别
- instancetype 和 id 的区别
- instancetype 和 id的区别
- id和instancetype的区别
- Emit语法简单实现(含实例)
- java中Serializable问题
- 数据结构知识:链表,队列和栈的区别
- 给studio配置方法注释快捷键的方式:
- 关于腾讯应用管理中心,认领应用
- instancetype和id的区别
- 最新版Visual Assist X支持vc6和vs2003
- git error:index file smaller than expected
- 安卓网络图片加载框架-Picasso使用教程
- Caffe傻瓜系列(2):视觉层(Vision Layers)及参数
- Json.NET使用入门(二)【反序列化】
- 最短路径
- 初学unity3d的新手问题 (持续更新)
- android left-to-right