instancetype和id 区别

     原文地址:http://blog.csdn.net/wzzvictory/article/details/16994913

首先要弄清楚两者的区别需要说清楚两个概念:关联返回类型和非关联返回类型。
根据Cocoa的命名规则,满足下述规则的方法:
1、类方法中,以alloc或new开头
2、实例方法中,以autorelease,init,retain或self开头
会返回一个方法所在类类型的对象,这些方法就被称为是关联返回类型的方法。

非关联返回类型顾名思义则是说返回类型不定。

instancetype的作用就是用来指定返回类型为方法所在类的类型。

二者的异同点:
1、相同点:都可以作为返回类型
2、不同点:1)id可以作为方法的参数,instancetype不行
2)instancetype可以返回和方法所在类类型相同的对象,而id只能返回未知类型的对象。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、什么是instancetype instancetype是clang 3.5开始,clang提供的一个关键字,...
    大荣纸阅读 317评论 0 0
  • 一、什么是instancetype instancetype是clang 3.5开始,clang提供的一个关键字,...
    奔跑的老树精阅读 544评论 0 0
  • 以前从不曾认真为生我育我的父母想过,好像他们为我付出的一切我都当成了理所当然。由此可见,我真的不是一个好孩子。想...
    任性的小疯子阅读 274评论 0 0
  • 人们常说:机场比婚礼殿堂见证了更多真挚的亲吻,医院的墙壁比教堂聆听了更多真实的祷告。火车站是个亲近又疏离的存在,它...
    墨子涵阅读 468评论 0 3
  • 题记: 当我敲下这四个字的时候,我也在试图给“具体”这个形容词下一个定义,最近努力回忆小时候的人和物,“...
    看见感受阅读 471评论 0 0