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

tags: OC 30 day

编译检查

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

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

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

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

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

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

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

<<:  iOS APP 开发 OC 第十六天,预处理

>>:  网络访问控制(network access control)

NNI安装後的验证02

前回提及,在浏览器网址,输入 127.0.0.1:8085,进入WebUI管理介面。此时,您将会看到...

30天打造品牌特色电商网站 Day.16 微互动设计按钮实作(2)

按钮在网站中可说是不可缺少的重要元件,今天就来学习<button>标签的使用方法吧~ 首...

Day6 React搭配JSX运用

昨天学习到了JSX的几大特色与优点之後,今天就正式来学习用JSX搭配react。载入JSX之前先引用...

Day23:今天来聊一下Hacking Web Applications

Web application hacking是透过application的图形web介面操纵应用程...

CSS BOX Model(模型)(DAY14)

CSS BOX MODEL的意思是每个html元素都用一个像是方型盒子的模型包装起来,它可以让我们调...