08.isKindOfClass的底层实现
BOOL result1 = [[NSObject class] isKindOfClass:[NSObject class]];
BOOL result2 = [[NSObject class] isMemberOfClass:[NSObject class]];
BOOL result3 = [[RYModel class] isKindOfClass:[RYModel class]];
BOOL result4 = [[RYModel class] isMemberOfClass:[RYModel class]];
NSLog(@"Class\n %hhd \n %hhd \n %hhd \n %hhd", result1, result2, result3, result4);
BOOL result5 = [[NSObject alloc] isKindOfClass:[NSObject class]];
BOOL result6 = [[NSObject alloc] isMemberOfClass:[NSObject class]];
BOOL result7 = [[RYModel alloc] isKindOfClass:[RYModel class]];
BOOL result8 = [[RYModel alloc] isMemberOfClass:[RYModel class]];
NSLog(@"Instacne\n %hhd \n %hhd \n %hhd \n %hhd", result5, result6, result7, result8);2021-06-27 08:29:10.567002+0800 IsKindOf[62355:691675] Class
1
0
0
0
2021-06-27 08:29:10.567836+0800 IsKindOf[62355:691675] Instacne
1
1
1
1一、isKindOfClass
1.1 流程图-Class

1.2 流程图-Instance

二、isMemberOfClass
三、你以为这就完了?

3.1 汇编
3.2 objc_opt_isKindOfClass

四、参考
Last updated