iOS - RunTime的简单使用以及说明
2016-09-12 本文已影响12人
farmerly
Runtime(消息机制)
- 都知道runtime就是运行时,OC也是运行时机制的,runtime说简单也简单,说难也难,毕竟有些东西涉及到了底层,然而并卵,太麻烦的地方几乎用不到,只是作为了解了解而已,今天就写写消息机制
- clang -rewrite-objc main.m 这段命令用来生成cpp文件,当然就是C++代码,毕竟最后编译了就是C++代码
- C++呢这东西是个好东西,win的应用也能写,当然你需要下载Qt,这个Qt不是那个QQ那个哦。。这个Qt非常强大,有兴趣可以了解了解,用起来很爽,记得大学用它写了CF外挂 ,哈哈
- 好了我还是直接贴代码和解释吧。还在研究iOS10中。。
- objc_msgSend(objc_getClass("preson"), sel_registerName("alloc"))
- 都知道OC是消息机制所以呢,发送一个alloc消息就代表开始创建了,objc_getClass这个方法是用来获取类,当然你也可以使用OC的方法[preson class] ,sel_registerName这个方法是用来进行注册,registerName顾名思义就是注册名,这一段代码就等于preson * son = [preson alloc]
- alloc之后当然需要init所以还是要发送一个消息告诉编译器,图片上面注释的很清楚,然而我发现自己拷贝的时候类字没有改,所以不改了,我不是强迫症。
- person这个类里面的方法我就写了.m里面的文件,模拟一下有些私有的类方法和对象方法拿不出的情况下怎么做。看图:
好了就这样吧,这是runtime消息机制。之后的后面更新哈。