JSPatch分析
2016-04-28 15:22:44 0 举报
JSPatch:定义替换native方法流程
作者其他创作
大纲/内容
JSPatch方法调用
将js传来的方法名和参数转换为OC格式
methodTypesInProtocol
是否找到方法类型
_methodFunc
否
overrideMethod
formatJSToOC
Javascript
Objective-C
_formatDefineMethods
构建方法签名
JavascriptCore
构建Invocation
添加属性获取设置方法getProp:setProp:forKey:
return formatOCToJS
__c
_setupJSMethod
如果class不存在则动态创建
ret = _OC_defineClass
defineClass
是
OverideMethod
require(className)
return @{@\"cls\
如果方法存在
isSuper
JSPatch消息替换
convertJPSelectorString
callSelector
_OC_call
获取super方法并覆写到当前对象上
JavaScriptCore
将所有方法参数类型变成id
根据签名获取参数类型和参数值,设置到invocation
[invocation invoke]
如果有协议则在将协议动态加入到class
0 条评论
下一页