美文网首页
oc的消息机制

oc的消息机制

作者: cj小牛 | 来源:发表于2016-06-06 16:49 被阅读51次

import "ViewController.h"

import "Person.h"

// 导入框架 第一步

import <objc/message.h>

@interface ViewController ()

@end

@implementation ViewController

  • (void)viewDidLoad {
    [super viewDidLoad];
    Person *p = [[Person alloc]init];
    // [p eat];
    // oc 运行时,消息机制最重要的机制
    // 消息机制:任何方法调用,本质都是发送消息
    // sel :方法编号,根据方法编号就可以早到对应的方法实现
    // [p performSelector:@selector(eat)];// 用运行时去发送消息

// 运行时的使用步骤
// xcode 5 之后苹果就不建议使用底层的方法
// xcode 5 之后,使用运行时,在bu起来的setting搜索msg 设置属性为nos
// 对象方法调用
objc_msgSend(p, @selector(eat));// 表示让p发送一个消息

objc_msgSend(p, @selector(run:),10);//第参数的方法

// 类方法调用(将类名转换成类对象)
// [Person eat];

[Person class];// 类对象
[[Person class] performSelector:@selector(eat)];// 类对象调用方法

// 运行时间
objc_msgSend([Person class], @selector(eat)); // 类对象调用的方法是类方法

}

import <Foundation/Foundation.h>

@interface Person : NSObject
+(void)eat;
-(void)eat;
-(void)run:(int)run;
@end

import "Person.h"

@implementation Person
+(void)eat{

NSLog(@"者里调用的是类方法") ;

}
-(void)eat{

NSLog(@"者里调用的是对象方法") ;
}
-(void)run:(int)run{
NSLog(@"你跑了%d",run);

}
@end

相关文章

  • iOS runtime

    runtime 是 oc 语音的基础首先runtime的核心机制是消息机制 也就是oc的消息机制首先oc的消息机制...

  • OC中的消息机制和动态运行时

    消息机制:OC中的实例对象调用一个方法称作消息传递 OC中里的消息传递采用动态绑定机制来决定具体调用哪个方法,OC...

  • 关于Runtime 消息发送机制的延伸

    说到OC 不得不说一下OC 的消息转发机制;何为OC 的消息转发机制;其实就是这样的; Objc 在向一个对象发送...

  • OC消息机制

    基于Runtime的动态特性 在苹果的官方文档中,对Runtime的介绍如下: The Objective-C l...

  • oc消息机制

    内存分区 1栈 局部变量 2堆alloc分配地址 在方法中(函数体)定义的变量通常是在栈内,因此如果你的变量要跨函...

  • OC消息机制

    1.消息机制RunTime简称运行时。就是系统在运行的时候的一些机制,其中最主要的是消息机制。对于C语言,函数的调...

  • OC消息机制,消息转发机制

    Runtime简称运行时,其中最主要的是消息机制 概述 C 与 OC 的不同 1.C 语言,函数的调用在编译的时候...

  • Runtime部分

    --------------------Runtime-------------------- OC的消息机制 O...

  • oc的消息机制

    import "ViewController.h" import "Person.h" // 导入框架 第一步 i...

  • OC的消息机制

    1.OC中的方法调用在底层都是转成了objc_msgSend函数的调用,给receiver(方法调用者)发送一条消...

网友评论

      本文标题:oc的消息机制

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