博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
self super isMemberOfClass isKindOfClass 用法
阅读量:7175 次
发布时间:2019-06-29

本文共 1412 字,大约阅读时间需要 4 分钟。

+ (id)self {    return (id)self;}- (id)self {    return self;}+ (Class)class {    return self;}- (Class)class {    return object_getClass(self);}+ (Class)superclass {    return self->superclass;}- (Class)superclass {    return [self class]->superclass;}+ (BOOL)isMemberOfClass:(Class)cls {    return object_getClass((id)self) == cls;}- (BOOL)isMemberOfClass:(Class)cls {    return [self class] == cls;}+ (BOOL)isKindOfClass:(Class)cls {    for (Class tcls = object_getClass((id)self); tcls; tcls = tcls->superclass) {        if (tcls == cls) return YES;    }    return NO;}- (BOOL)isKindOfClass:(Class)cls {    for (Class tcls = [self class]; tcls; tcls = tcls->superclass) {        if (tcls == cls) return YES;    }    return NO;}+ (BOOL)isSubclassOfClass:(Class)cls {    for (Class tcls = self; tcls; tcls = tcls->superclass) {        if (tcls == cls) return YES;    }    return NO;}复制代码

问如下打印啥?

NSLog(@"[self class]%@",[self class]);       NSLog(@"[super class]%@",[super class]);       NSLog(@"==================");       NSLog(@"[self superClass]%@",[self superclass]);       NSLog(@"[super superClass]%@",[super superclass]);复制代码
NSLog(@"%d",[[NSObject class] isKindOfClass:[NSObject class]]);        NSLog(@"%d",[[NSObject class] isMemberOfClass:[NSObject class]]);        NSLog(@"%d",[[Person class] isKindOfClass:[Person class]]);        NSLog(@"%d",[[Person class] isMemberOfClass:[Person class]]);复制代码

转载地址:http://ampzm.baihongyu.com/

你可能感兴趣的文章
AIX系统开启ftp服务
查看>>
linux 上拷贝文件到windows 上 文件出现锁的文件
查看>>
Xamarin iOS教程之编辑界面编写代码
查看>>
Construct Binary Tree from Preorder and Inorder Traversal
查看>>
写得好 git 提交信息
查看>>
Linux下获取线程TID的方法
查看>>
Redis和Memcache的区别分析(转)
查看>>
网络请求 http get post 一
查看>>
《计算机问题求解》总结——2014年CCF计算机课程改革导教班(2014.07.11)
查看>>
Google Chrome Plus——绿色便携多功能谷歌浏览器
查看>>
Instant Run
查看>>
浏览器中 for in 反射 对象成员 的差异
查看>>
关于Linux启动时挂载rootfs的几种方式
查看>>
2018年总结
查看>>
34个漂亮的应用程序后台管理界面
查看>>
java JDK6的可变参数
查看>>
初入职场程序员的五大钻石法则
查看>>
Node.js学习笔记(一)概述
查看>>
split的3种方法
查看>>
忽略PNG透明区域的事件(AS/Flash)
查看>>