前两天朋友问了个问题,如何判断一个方法是由这个对象自己实现了,还是直接继承的父类实现。看了下,用respondsToSelector是无法判断出来的,需要用到runtime的东西。所以又顺便看了下runtime的东西并在此记录一下。
1.class_copyMethodList
1 | #import <objc/runtime.h> |
2.class_addMethod
同样,使用class_addMethod也可以判断出来。如果子类覆写了父类的方法,class_addMethod会fail,如果没实现的话会返回yes。
总结
runtime是Objective-C最强大也是最核心的东西,让我们可以在运行时做很多事情。了解并掌握runtime也是Objective-C学习路上的重中之重。回头自己要好好整理整理runtime相关的东西,感兴趣的也可以自己去搜一搜相关的文章和博客,相信看完会对你有很大的帮助。
赏
使用支付宝打赏
使用微信打赏
若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏
扫描二维码,分享此文章