__kindof

作者: YuWenHaiBo | 来源:发表于2016-08-28 21:21 被阅读23次

** __kindof ** 表示当前类或者它的子类
好处: 在调用的时候很清楚的知道 返回类型
** __kindof ** 书写格式:
放在类型的前面:

在说__kindof之前先说说 id 和 instanceType
先创建两个对象类: Person 和 SonPerson继承Person

在Person类中实现类方法用于初始化

当我们指定返回值类型是id的时候就会出现指向不准确我们可能用了NSString字符串来接收,调用了字符串的length方法,但是person没有这个方法所以就会造成方法找不到错误

由于对象是id类型所以编译器会提供一些不是person类的方法

为了解决这个我们可以指定具体的类型,但是指定了具体类型后,用他的子类去接收的时候就会造成不兼容


为此Apple公司推出来intancetype类型

虽然不会报警告了但是还是不知道类型是什么依然不能好好使用

因此推出了__kindof

完美解决问题

// id 坏处 :
      1. 不能在编译的时候检测真实的类型
      2.  返回值,没有提示        
      3. id类型的对象调用的方法的时候提示的不准确
 // instanceType 
     会自动识别当前的类型
    但是还是无法得知用什么类型去接收

相关文章

  • 关键字__kindof

    __kindof:表示当前类或者它子类 __kindof书写格式:放在类型前面,表示修饰这个类型(__kindof...

  • __kindof用法

    __kindof用法 1.介绍 __kindof结合泛型使用,如 那么 和 的区别:没有加__kindof的话,如...

  • iOS开发 MRC与ARC切换与混编

    关键字__kindof__kindof:表示当前类或者它子类__kindof :在调用的时候,很清楚的知道返回类型...

  • 日常开发笔记(一)

    1. __kindof __kindof关键字的理解[https://blog.csdn.net/gang5440...

  • __kindof

  • __kindof

    ** __kindof ** 表示当前类或者它的子类好处: 在调用的时候很清楚的知道 返回类型** __kindo...

  • --kindof

    简介 __kindof是苹果声明的一个新特性,它是和Nullability Annotations 以及Gener...

  • OC中__kindof的用法

    OS之iOS9新特性――__kindof 简介 __kindof是苹果声明的一个新特性,它是和Nullabilit...

  • OC中__kindof的用法

    OS之iOS9新特性――__kindof 简介 __kindof是苹果声明的一个新特性,它是和Nullabilit...

  • CoreData学习问题记录

    1. 使用+ (__kindof NSManagedObject *)insertNewObjectForEnti...

网友评论

      本文标题:__kindof

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