iOS开发 - isKindOfClass,isSubclassOfClass和isMemberOfClass
程序员文章站
2022-04-30 20:06:25
在ios开发中,会遇到需要判断一个对象是否为某类的对象,或者某个子类的对象.判断方法大体有三个iskindofclass,issubclassofclass和ismemberofclass.他们的区...
在ios开发中,会遇到需要判断一个对象是否为某类的对象,或者某个子类的对象.判断方法大体有三个iskindofclass,issubclassofclass和ismemberofclass.他们的区别是什么呢?下面通过代码来验证一下.
创建父子类关系的类对象
创建对象
测试1:iskindofclass
iskindofclass测试
iskindofclass测试结果
测试2:issubclassofclass
issubclassofclass测试
issubclassofclass测试结果
测试3:ismemberofclass
ismemberofclass测试
测试结果
结果表明issubclassofclass和iskindofclass的作用基本上是一致都是用来判断一个对象或一个类是否为某个类或者某个类的子类.
ismemberofclass 有所不同,只有当类型完全匹配的时候才会返回yes。
补充:附加测试(ismemberofclass)
ismemberofclass附加测试
测试结果
结果令人意外bool7为假,难道上面得出的结论是错误的么?或者textarr不是 nsarray 类型的?打印了一下textarr 结果发现结果为
textarr类型为nsarray0
原来textarr 不是nsarray类型实例,通过不同方法实例化的array都是nsarray子类的实例,nsarray是一个抽象的基类。这种模式就是了类簇模式.
上一篇: ai怎么设计京剧的脸谱图标?
下一篇: ai怎么设计航海王中莫奈的头像?
推荐阅读
-
IOS开发之关于alloc 、init和new学习讲解
-
iOS应用UI开发中的字体和按钮控件使用指南
-
ios原生开发和前端开发(app原生开发和非原生的区别)
-
iOS应用设计模式开发中对简单工厂和工厂方法模式的运用
-
iOS开发中Date Picker和UITool Bar控件的使用简介
-
解析iOS应用的UI开发中懒加载和xib的简单使用方法
-
IOS开发(41)之关于NSString和NSMutableString的retainCount
-
IOS开发(45)之delegate和Notification的区别
-
IOS开发(74)之把 Array 和 Dictionaries 序列化成 JSON 对象
-
iOS开发- runtime基本用法解析和用runtime给键盘添加工具栏和按钮响应事件