博客
关于我
OC中查看消息转发调用顺序
阅读量:382 次
发布时间:2019-03-05

本文共 907 字,大约阅读时间需要 3 分钟。

Objective-C 消息转发调用顺序分析工具使用指南

在非源码工程中使用本地方法分析消息转发调用顺序,可以通过以下步骤实现

1. 引入方法

在需要分析消息转发的类中添加外部方法支持

extern void instrumentObjcMessageSends(BOOL);

2. 开启与关闭分析

在目标类中调用分析工具

instrumentObjcMessageSends(YES); // 启用分析[HSPerson walking]; // 被分析的操作instrumentObjcMessageSends(NO); // 停止分析

3. 获取分析结果

运行项目后,分析结果将保存在 /private/tmp/ 文件夹中,文件名以 msgSends- 开头

4. 查看详细调用日志

打开生成的日志文件,查看详细的消息转发调用序列

+ HSPerson NSObject resolveClassMethod:+ HSPerson NSObject resolveClassMethod:+ NSObject NSObject resolveInstanceMethod:+ NSObject NSObject resolveInstanceMethod:+ HSPerson HSPerson forwardingTargetForSelector:+ HSPerson HSPerson forwardingTargetForSelector:- OS_xpc_serializer OS_xpc_object dealloc- OS_object NSObject dealloc- __NSCFConstantString __NSCFConstantString release- NSMethodSignature NSMethodSignature methodReturnType- NSMethodSignature NSMethodSignature _argInfo

通过上述方法,可以全面追踪和分析 Objective-C 消息转发链中的各个环节,帮助开发者深入理解对象之间的交互逻辑

转载地址:http://xhqg.baihongyu.com/

你可能感兴趣的文章
NotImplementedError: Could not run torchvision::nms
查看>>
nova基于ubs机制扩展scheduler-filter
查看>>
Now trying to drop the old temporary tablespace, the session hangs.
查看>>
nowcoder—Beauty of Trees
查看>>
np.arange()和np.linspace()绘制logistic回归图像时得到不同的结果?
查看>>
np.power的使用
查看>>
NPM 2FA双重认证的设置方法
查看>>
npm build报错Cannot find module ‘webpack/lib/rules/BasicEffectRulePlugin‘解决方法
查看>>
npm build报错Cannot find module ‘webpack‘解决方法
查看>>
npm ERR! ERESOLVE could not resolve报错
查看>>
npm ERR! fatal: unable to connect to github.com:
查看>>
npm ERR! Unexpected end of JSON input while parsing near '...on":"0.10.3","direc to'
查看>>
npm ERR! Unexpected end of JSON input while parsing near ‘...“:“^1.2.0“,“vue-html-‘ npm ERR! A comp
查看>>
npm error Missing script: “server“npm errornpm error Did you mean this?npm error npm run serve
查看>>
npm error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”。要解决此问题,1) 安装
查看>>
npm install CERT_HAS_EXPIRED解决方法
查看>>
npm install digital envelope routines::unsupported解决方法
查看>>
npm install 卡着不动的解决方法
查看>>
npm install 报错 EEXIST File exists 的解决方法
查看>>
npm install 报错 ERR_SOCKET_TIMEOUT 的解决方法
查看>>