美文网首页
1. 消息机制的简单使用

1. 消息机制的简单使用

作者: 师从小马哥 | 来源:发表于2018-02-09 15:33 被阅读0次

    前言:
    Objective-C 的底层实现是运行时机制, OC的函数是动态调用过程. 其中最主要的是消息机制. 函数的调用就是让对象发送消息.

    用法:

    1. 交换方法 2. 动态添加属性 3. 分类添加属性 4. 调用私有方法

    目标:

    1. 使用消息机制创建一个类
    2. 开启消息机制系统代码提示

    首先导入消息机制头文件

    #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
    1. 点击Build Setting
    2. 搜索"msg"
    3. 把yes 改成 NO

    相关文章

      网友评论

          本文标题:1. 消息机制的简单使用

          本文链接:https://www.haomeiwen.com/subject/vjoftftx.html