iOS9新特性之__kindof

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

推荐阅读更多精彩内容

  • @(iOS Study)[实战技术] 作者: Liwx 邮箱: 1032282633@qq.com 目录 01.实...
    Liwx阅读 738评论 2 3
  • 2014年的苹果全球开发者大会(WWDC),当Craig Federighi向全世界宣布“We have new ...
    yeshenlong520阅读 2,325评论 0 9
  • Swift2.0 1.defer译为延缓、推迟之意类似栈 注意作用域,其次是调用顺序——即一个作用域结束(注意),...
    zeqinjie阅读 3,415评论 0 50
  • 人生总是这样,遭遇一些事一些人,有些是来陪伴你的,有些是来搭救你的,还有些是来唤醒你的。在每一个四川小孩的身后都站...
    右耳私厨阅读 321评论 0 0
  • 我的他,总是想办法把我不成形的想法变为现实,总是给我圆场让我自己可以傻乐傻乐,爱是一份默契与相处,❤️❤️❤️
    庄主驾到阅读 280评论 0 0