博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
消息发送机制的利用
阅读量:7120 次
发布时间:2019-06-28

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

消息发送机制是Objective-C 的底层方法调用,在一般项目中很少有机会接触到 ,因为一般的项目都是直接引用SDK的库或者直接import的class,所以导致在具体的类中可以直接应用,但是有一种情况这种方法是行不通的,因为定制的项目,SDK是动态捆绑到项目中的,就导致很多SDK在调用的时候找不到类或方法说明,此时编译项目就会全县标红,就算偶然的编译通过,在运行是也会发现闪退,因为找不到方法。此时我们就需要用到消息发送机制来编写和发送消息;

一、既为消息消息发送机制,肯定要导入相关的类

#import 

二、方法定义和调用

id(*func2)(id,SEL,id) = (id(*)(id,SEL,id))objc_msgSend;NSString * appSign=func2(NSClassFromString(className),NSSelectorFromString(@"getCPlusUserCorrespondingField:"),@"appSign");

  

//此处用NSSelectorFromString(@"getCPlusUserCorrespondingField:")来代替@selector(getCPlusUserCorrespondingField:)来避免出现warning

三、方法调用简化

id tempItem = [NSClassFromString(@"JHMenuItem") alloc];id item = ((id(*)(id,SEL,NSDictionary *))objc_msgSend)(tempItem, NSSelectorFromString(@"initWithProperty:"),dataDic);

  

转载于:https://www.cnblogs.com/tianlin106/p/6401843.html

你可能感兴趣的文章
详细介绍Linux shell脚本基础学习(一)
查看>>
存储引擎和Mysql服务层出现索引信息不一致错误提示
查看>>
LInux下如何挂载光盘找rpm包?
查看>>
java 异常处理
查看>>
MySQL异常
查看>>
写给工程师的十条精进原则
查看>>
前嗅ForeSpider教程:采集图片/视频/资源文件的链接地址
查看>>
远程部署SEP 11.RU5 安装包到 Windows 7 客户端提示“访问被拒”
查看>>
zabbix自定义用户key
查看>>
PHP5.3安装
查看>>
Python怎么使用beautifulsoup来从HTML片段中删除标签
查看>>
java并发编程-volatile内存实现和原理
查看>>
我的友情链接
查看>>
前端知识 | 简析ES6
查看>>
zip压缩工具与tar打包并压缩工具
查看>>
我的友情链接
查看>>
(8)Xwork容器概览
查看>>
gem包 用途说明
查看>>
C# textBox框实现输入像百度搜索出现下拉列表的格式
查看>>
混日子不是你的错,根源在这里
查看>>