美文网首页iOS开发
OC中__kindof的用法

OC中__kindof的用法

作者: hypercode | 来源:发表于2018-12-04 19:17 被阅读0次

OS之iOS9新特性――__kindof

简介

__kindof是苹果声明的一个新特性,它是和Nullability Annotations 以及Generics 一起在xcode7中出现的。本文将对它进行详细介绍:

使用方法

假如我们声明了如下属性:

@property (nonatomic, strong) NSArray *viewCollection;

看属性名我们会认为它是元素为UIView的数组,但这只是猜测,它并不能保证这个数组的元素就是UIView,除非通过阅读完整的代码来确认。

这种情况下,我们就可以使用泛型和__kindof来解决这个问题。

使用泛型,我们可以这样声明这个数组:

@property (nonatomic, strong) NSArray<UIView *> *viewCollection;

这样我们知道这个数组被指定了元素为UIView类型。

但是呢,这样声明的数组它只能包含UIView类型的元素,如果元素被赋值为UIWebView或UIButton这样的子类型,编译器就会报警告⚠️。

为了解决这个问题,__kindof就应运而生。

@property (nonatomic, strong) NSArray<__kindof UIView *> *viewCollection;

用这种结构声明,这个数组就可以包含UIView以及UIView的子类型,例如UIWebView或UIButton。

我们开发人员应该尽可能地去使用OC的新特性。像__kindof就可以帮助我们提高代码质量和明确代码意图,使用泛型和__kindof会使代码更严谨,这对我们的代码和应用是大有益处滴!!

原文链接:https://happyteamlabs.com/blog/how-to-use-__kindof-in-objective-c/

相关文章

  • OC中__kindof的用法

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

  • OC中__kindof的用法

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

  • OC __kindof用法

    作为对范型的补充 @property(nonatomic,strong)NSArray<__kindofUIVie...

  • OC中的 typeof() 和 __kindof

    OC中的 typeof()和__kindof typeof()__weak typeof(self) weakSe...

  • oc中的__kindof

    首先__kindof:规定参数为UITableViewCell这个类或者其子类。比如说一个NSArray ,如果不...

  • __kindof用法

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

  • OC 泛型, __kindof

    泛型:限制类型 泛型声明格式:在声明类的时候,在类型后面<泛型名称>泛型定义格式:放在限制的类型后面<类型> 泛型...

  • Objective-C里的字符串

    OC中的字符串NSString NSString的用法

  • UIButton倒计时

    oc 用法 NSObject分类 swift 用法

  • 关键字__kindof

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

网友评论

    本文标题:OC中__kindof的用法

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