TTPatch
热修复、热更新、JS代码动态下发、动态创建类
https://github.com/yangyangFeng/TTPatch
关系方法注册和方法覆盖设计方案
- Oc 不存在的方法,无需注册到Oc中,只在Js端保留方法信息,供Js端代码直接调用
- Oc 已存在方法,需要先获取
original IMP
,将原方法 IMP 替换成我们的消息转发,然后重新添加一个以original IMP
为实现,***
为前缀的新方法。
JS中声明Oc中的Class设计方案
首先我们要搞清楚JS中引入新Class
1、Class能被识别(非undefined
)
2、Class能调用方法
第一步让我们看看怎么做,如何让Oc Class能被JS识别呢?
我们可以将Oc Class注册到global中,这样我们的Class就能被JS识别,而不是undefined
类型.
Class能识别了,那么在JS中如何才能调用Oc的方法而不报错呢?
这个问题其实很简单,我的解决方案将 impoet Class
包装成类似于NSObject
的JSObject
class JSObject {