简介:
_kindof是苹果声明的一个新特性
使用方法如下:
正常我们声明一个属性:
@property (nonatomic,strong) NSArray *viewArray;
看属性我们知道viewArray是一个存储UIView的数组,但是不能保证这个元素就是UIView,除非我们阅读完整的代码才会知道。
这种情况下我们通过泛型声明这个数组
@property (nonatomic,strong) NSArray<UIView *> *viewArray;
这样我们就知道了声明的viewArray是一个存储UIView类型的数组,如果赋值为UIButton或者UIWebView这样的子类型时,编译则会报警告⚠️
为了解决这个问题,__kindof应运而生
@property (nonatomic,strong) NSArray<__kindof UIView *> *viewArray;
用这种结构声明的viewArray,确保这个数组可以包含UIView以及UIView的子类型
我们要尽可能多的使用像__kindof这样苹果的新特性,是代码更加严谨,这样对我们的代码和应用大有益处。