instancetype 跟 id 的区别

-(instancetype)initWithDict:(NSDictionary*)dict;

+(instancetype)xxxWithDict:(NSDictionary*)dict;

在一些构造方法中返回类型用instancetype 比较好,苹果推荐用。

1、instancetype 编译器可以检测她的真实类型,id类型不能检测

2、instancetype 最为返回类型上跟id 一样可以表示所有类型

3、instancetype 只能作为返回值类型

比如:  id xxx=@“123”;但是不能instancetype xxx = @“123”;

NSString *xxx = [SunModel sunWithDict:dict]; 这样赋值是错误的 ,但是编译器不会知道,因为没有去检测他的真实类型,但是instancetype作为返回值,编译器就会报警告。


!!!!所以以后返回值是任意类型的时候一律用instancetype。()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,695评论 19 139
  • 一.统计应用中代码的总行数 每一个程序员都想在开发完成之后知道总共写了多少行的代码,这里有一个比较简单的方法。 1...
    小霍同学阅读 1,436评论 0 0
  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 2,098评论 0 9
  • 1.OC里用到集合类是什么? 基本类型为:NSArray,NSSet以及NSDictionary 可变类型为:NS...
    轻皱眉头浅忧思阅读 1,483评论 0 3
  • 作为一名准妈妈,孕育宝宝七个多月以来,我已经如饥似渴的读了四五本育儿方面的书,它们分别在饮食、日常护理、常见疾病、...
    汝年年阅读 404评论 0 1

友情链接更多精彩内容