Object-C isSubclassOfClass

零基础 Object-C 学习路线推荐 : Object-C 学习目录 >> Object-C 基础

零基础 Object-C 学习路线推荐 : Object-C 学习目录 >> Object-C 线程

零基础 Object-C 学习路线推荐 : Object-C 学习目录 >> OpenGL ES

零基础 Object-C 学习路线推荐 : Object-C 学习目录 >> GPUImage

零基础 Object-C 学习路线推荐 : Object-C 学习目录 >> AVFoundation

零基础 Object-C 学习路线推荐 : Object-C 学习目录 >> CocoaPods


一.isSubclassOfClass简介

/*
判断是否为对象是否为ClassName或其子类的实例
*/

- (BOOL)isSubclassOfClass:(Class)aClass;

isSubclassOfClassisKindOfClass的 作用基本上是一致的,只不过一个是类方法,一个是对象方法。


二.isSubclassOfClass实战

/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:Object-C isSubclassOfClass
//@Time:2021/10/20 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/


//1.首先申明 四个类 A>B>C>D ,继承关系 A继承B,B继承C,C继承D。即D是最顶层的父类,A是最基层的子类。

A *a = [[A alloc]init];

//2.isKindOfClass(对象方法)

[a  isKindOfClass [A Class]]  //return YES
[a  isKindOfClass [B Class]]  //return YES
[a  isKindOfClass [C Class]]  //return YES
[a  isKindOfClass [D Class]]  //return YES

//3.isMemberOfClass(对象方法)
[a  isMemberOfClass [A Class]]  //return YES
[a  isMemberOfClass [B Class]]  //return NO
[a  isMemberOfClass [C Class]]  //return NO
[a  isMemberOfClass [D Class]]  //return NO

//4.isSubclassOfClass(类方法)
[A  isSubclassOfClass [A Class]]  //return YES
[A  isSubclassOfClass [B Class]]  //return YES
[A  isSubclassOfClass [C Class]]  //return YES
[A  isSubclassOfClass [D Class]]  //return YES

isSubclassOfClass 和 isKindOfClass 作用基本上是一致都是用来判断一个对象或一个类是否为某个类或者某个类的子类. 只不过 isSubclassOfClass 是类方法,isKindOfClass 是对象方法。

isMemberOfClass 有所不同,只有当类型完全匹配的时候才会返回 YES 。


三.猜你喜欢


未经允许不得转载:猿说编程 » Object-C isSubclassOfClass
喜欢(0) 打赏

评论抢沙发

评论前必须登录!

不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!!

开始学习

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏