iOS APP 开发 OC 第十六天,动态类型检测

tags: OC 30 day

编译检查

编译器在编译的时候,判断一个指针是否可以调用指针的对象方法。
判断的準则就是指针类型。

OC的编译器是LLVM,不是Xcode,Xcode是IDE。

意味着我们可以把编译器骗过。

就算骗过了编译器,程序在运行的时候还会做运行检查。

我们写的程序就算编译通过了,不意味着可以完美的执行。

我们就希望,我们可以写代码来判断一下,对象中是否有这个方法,如果有再去执行,如果没有就不要执行。

判断指针指向的得向是否有这个方法可以去执行。
 BOOL b1 = [p1 respondsToSelector:@selector(sayHi)];
判断指定的对象是否为 指定类的对象或者子类对象
- (BOOL)isKindOfClass:(Class)aClass;
判断对象是否为指定类的对象,不包括子类。
- (BOOL)isMemberOfClass:(Class)aClass;

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章