• iOS id 和 instancetype 的区别


    参考来自:http://blog.csdn.net/kuizhang1/article/details/18048829

    两句话总结:

    如果是关联返回值类型都一样;如果是非关联返回值类型就instancetype好,能返回对象本身而id只能返回id类型。
    instancetype不能作为行参的类型只能作返回值。

    何为:关联返回类型(related result types)

    根据Cocoa的命名规则,满足下述规则的方法:

    1、类方法中,以alloc或new开头。

    2、实例方法中,以autorelease,init,retain或self开头。

    都会返回一个和方法所在类同样类型的对象,这些方法就被称为是关联返回类型的方法。换句话说,这些方法的返回结果的类型和方法所在的类的类型是一样的

    比如:

     - (NSArray *)init;  返回的是NSArray 当前类型也是NSArray  类型是一样的,属于关联类型。

    @interface NSArray : NSObject 
    - (NSArray *)init;
    @end 
    

      

      

  • 相关阅读:
    键值表
    CRC校验方法
    extern 使用
    编码格式简介(ANSI、GBK、GB2312、UTF-8、GB18030和 UNICODE)
    学习积累
    二分查找写法
    生活技术常识
    JAVA实例
    JAVA_Sprint学习(一)
    手把手使用Git?
  • 原文地址:https://www.cnblogs.com/saytome/p/8078780.html
Copyright © 2020-2023  润新知