美文网首页iOS开发 Objective-C
iOS9新特性之__kindof

iOS9新特性之__kindof

作者: 走道牙的人 | 来源:发表于2016-07-08 13:06 被阅读203次
    • __kindof:一般用在方法返回值的前面修饰,表示返回值可以是当前类或者它子类

    • __kindof书写格式:
      放在类型前面,表示修饰这个类型(__kindof Person *),表示可以是Person类或者它的子类

    • 在定义初始化类方法返回值类型的时候,最早使用id作为返回值类型,后来使用instancetype,现在可以使用__kindof加类名

    @interface Person : NSObject
    
    /*
      id表示返回值可以是任意类型,它的坏处: 
      1. 不能在编译的时候检查真实类型
      2. 返回值,没有提示
    */
    //+ (id)person;
    
    // instancetype:会自动识别当前对象的类,但是和__kindof相比它没有提示
    //+ (instancetype)person;
    
    // __kindof Person *:表示可以是Person类或者它的子类,和instancetype相比,在调用的时候,很清楚的知道返回类型
    + (__kindof Person *)person;
    
    // 仅仅表示只能是Person类
    + (Person *)person1;
    
    @end
    

    相关文章

      网友评论

        本文标题:iOS9新特性之__kindof

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