美文网首页
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. 消息机制的简单使用

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

  • Android源码分析——Hanlder

    Handler机制是Android中的通信机制,源码比较简单 1.消息机制 Android消息机制,其实也就是Ha...

  • MFC的消息机制

    1. 消息映射机制 1.1 消息映射机制的含义 MFC使用消息映射机制来处理消息,拥有一个消息与消息处理函数一一对...

  • runtime的使用一

    1.消息发送机制 2.消息转发机制 3.消息转发机制模拟多继承 4.命令模式在路由中的使用

  • 最通俗易懂的Redis发布订阅及代码实战

    发布订阅简介 除了使用List实现简单的消息队列功能以外,Redis还提供了发布订阅的消息机制。在这种机制下,消息...

  • Android消息机制学习

    1.消息机制的简介在Android中使用消息机制,我们首先想到的就是Handler。没错,Handler是Andr...

  • Runtime

    相关简单介绍 消息机制消息传递机制消息转发机制-动态添加方法消息转发机制-快速转发消息转发机制-慢速转发消息转发机...

  • 1.消息转发机制

    消息转发机制:当对象调用某个方法时,该方法没有实现,系统会通过消息转发来查找方法的实现。 下图为消息转发查找过程:...

  • 源码解读 | Handler 消息机制

    1. 概述 Android 的消息机制其实就是指 Handler 机制,在阅读源码中发现 Handler 的使用非...

  • iOS面试题锦集(六)——应用程序

    1. NSRunLoop的实现机制,及在多线程中如何使用? NSRunLoop是iOS消息机制的处理模式 NSRu...

网友评论

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

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