美文网首页
instancetype和id 区别

instancetype和id 区别

作者: swangbj | 来源:发表于2016-04-19 16:15 被阅读23次
     原文地址: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只能返回未知类型的对象。

相关文章

  • id 和 instanceType 有什么区别?

    id 和 instanceType 有什么区别? 相同点 instancetype 和 id 都是万能指针,指向对...

  • 内存管理总结

    1.id和instanceType区别? 2. id和NSObject区别? 3. id、nil、Nil、NULL...

  • id和instancetype区别

    init函数返回类型必须是instancetype,这个和id的区别是,id代表任意NSObject,而insta...

  • instanceType 和 id 区别

    参考博文?: instanceType & id 区别 关联返回类型(related res...

  • instancetype 和ID区别

    instancetype的作用,就是使那些非关联返回类型的方法返回所在类的类型! 好处:确定对象类型帮编译器更好定...

  • instancetype和id区别

    // instancetype == id == 万能指针 == 指向一个对象// id在编译的时候不能判断对象的...

  • instancetype 和 id 区别

    区别1: 在ARC(Auto Reference Count)环境下: instancetype用来在编译期确定实...

  • instancetype和id 区别

    首先要弄清楚两者的区别需要说清楚两个概念:关联返回类型和非关联返回类型。根据Cocoa的命名规则,满足下述规则的方...

  • instancetype和id区别

    一、什么是instancetype instancetype是clang 3.5开始,clang提供的一个关键字,...

  • instancetype和id区别

    相同点:都可以作为方法的返回值类型 不同点:instancetype只能作为返回值,不能像id那样作为参数inst...

网友评论

      本文标题:instancetype和id 区别

      本文链接:https://www.haomeiwen.com/subject/dqqzlttx.html