前言:
Objective-C 的底层实现是运行时机制, OC的函数是动态调用过程. 其中最主要的是消息机制. 函数的调用就是让对象发送消息.
用法:
- 交换方法 2. 动态添加属性 3. 分类添加属性 4. 调用私有方法
目标:
- 使用消息机制创建一个类
- 开启消息机制系统代码提示
首先导入消息机制头文件
#import <objc/message.h>
一般写法
id objc = objc_msgSend([NSObject class], @selector(alloc));
objc = objc_msgSend(objc, @selector(init));
纯c语言写法
id objc2 = objc_msgSend(objc_getClass("NSObject"), sel_registerName("alloc"));
objc2 = objc_msgSend(objc2, sel_registerName("init"));
传参写法
@implementation Person
- (void)run:(NSInteger)meter {
NSLog(@"%zd", meter);
}
@end
Person *p = objc_msgSend([Person class], @selector(alloc));
p = objc_msgSend(p, @selector(init));
objc_msgSend(p, sel_registerName("run:"), 20);
开启消息机制系统代码提示.png
- 点击Build Setting
- 搜索"msg"
- 把yes 改成 NO
网友评论