初識 Runtime機制 傳送訊息

2021-07-13 07:35:20 字數 1284 閱讀 6261

runtime:簡稱執行時,耳熟能詳,其中最主要的就是訊息機制

1.對於c語言,函式的呼叫在編譯的時候就會決定呼叫哪個函式

2.對於oc的函式:屬於動態呼叫過程。在編譯的時候並不能決定真正呼叫哪個函式,只有在真正執行的時候才會根據函式的名稱找到對應的函式來呼叫。

1.在編譯階段,oc可以呼叫任何函式,即使這個函式並未實現,只要宣告過就不會報錯。

2.在編譯階段,c語言呼叫未實現的函式就會報錯。

執行時最重要的機制 ---- 訊息機制

// 訊息機制:任何方法的呼叫,本質都是傳送訊息

// 首先先介紹執行時如何傳送訊息,(也就是我們所說的如何呼叫乙個類裡面的例項方法和類方法 注:我自己的理解)

/**1. 匯入2.進入工程名 -- building setting -->搜尋msg -->設定為no

做第二步的原因: xcode5之後,蘋果不建議使用底層

如果你沒改之前敲objc_msgsend(); 這個方法裡面,你是看不到需要什麼引數的。

改之後你就會看到這樣的 objc_msgsend(id self, sel op,...);

執行時,傳送訊息,誰做事情就拿誰 --> self;

*/

// 自己寫的,沒在工程裡面,你們可以那去工程裡面實現一下

1.建立乙個類

#標頭檔案

#import

@inte***ce

person : nsobject

// 類方法

+ (void)sleep;

// 例項方法

- (void)sleep;

// 帶引數

- (void)sleep:(nsuinteger)hour;

@end

#實現檔案

#import "person.h"

@implementation

person

+ (void)sleep

- (void)sleep

- (void)sleep:(nsuinteger)hour

@end

#控制器的viewdidload方法裡面。

#你不要告訴我 你不知道這是什麼方法

#首先肯定是匯入類了 #import "person.h"

#import

- (void)viewdidload

runtime的訊息機制

一,runtime的簡介 runtime簡稱執行時。object c就是執行時機制也就是執行時候的一些機制。其中最主要的就是訊息機制。1 和c語言的區別 c語言 函式的呼叫在編譯的時候就決定了呼叫那個函式。oc語言 它的呼叫是個動態呼叫過程,也就是說在編譯階段並不能決定真正呼叫哪個函式,只有在真正執...

Redis Redis的訊息機制 發布訂閱

目前go fly客服系統是通過記憶體來記錄客服和訪客的對映關係 不能用於分布式的環境下 只能單機使用 後續如果要支援分布式 可以考慮redis的pub sub機制 1.基於pub sub的特點,他的典型使用場景就是實時訊息系統,比如即時聊天,群聊等功能 2.還常用作減輕高併發的i o寫壓力,例如大量...

Unity 訊息傳送機制 解析

通俗易懂點講,就是 乙個物體發出訊息,另外乙個,或者幾個物體可以同時接收到這一訊息並作出各自不同的行為 反饋,處理 那麼,首先,我們想到,需要什麼?i 我們需要的是訊息 例項 傳送者。訊息 例項 傳送者 我們需要的訊息,就能夠處理任何訊息。ii 怎麼把這個訊息傳送出去 訊息處理中心 iii 傳送者傳...