其他分享
首页 > 其他分享> > 一起Talk IOS吧(第二十一回 多态中的类型检查)

一起Talk IOS吧(第二十一回 多态中的类型检查)

作者:互联网

看官们,我们在上一章回末尾提到了类型转换的条件,本章回中我们详细分析一下如何检查这些条件。

检查条件有专门的方法,我们主要介绍两个方法:

isKindOfClass和isMemberOfClass,

接下来我们分别介绍它们。

isKindOfClass:Obj 用来检查某个对象的类是否为Obj对象的类或者其子类,如果是,返回YES,否则返回NO。通常有二种情况会返回YES。

isMemberOfClass:Obj 用来检查某个对象的类是否为Obj对象的类,如果是,返回YES,否则返回NO。

使用这两个方法时需要传递某个类型的对象,我们通常使用class方法来生成某个类型的对象,在程序中直接使用类名就可以调用此方法。

在程序中isKindOfClass使用的的范围广一些,我们在进行多态类型转换时一定要做类型检查,只有在同一类的体系结构中的类才可以转换,不然会发生错误,即使不发生错误,在转换后使用多态时也会发生运行时错误。

最后,我们对本章回的内容做一个总结:

看官们,欲知后事如何且听下回分解!

标签:类型转换,Obj,检查,对象,IOS,多态,isKindOfClass,Talk
来源: https://blog.csdn.net/talk_8/article/details/112409786