iOS開發 runtime的基本使用

2021-10-08 13:02:17 字數 945 閱讀 5740

runtime的基本使用

1,動態改變例項變數的值

2,交換方法

3,動態新增方法

4,使用runtime為分類新增屬性

1,動態改變例項變數的值

//1,動態改變屬性值

- (void)change_value_name

3,動態新增方法

//3,使用runtime 動態新增方法

- (void)add_method

void run_method(id self,sel_cmd, nsstring * miles)

4,使用runtime為分類新增屬性

person+man.h

@inte***ce person (man)

@property (nonatomic,copy) nsstring *nick;

@end

person+man.m

#import "person+man.h"

#import @implementation person (man)

const char *nick_name = "nick";

- (void)setnick:(nsstring *)nick

- (nsstring *)nick

@end

呼叫

self.person.nick = @"***";

nslog(@"self.person.nick====%@",self.person.nick);

iOS開發 runtime機制

runtime簡稱執行時。就是系統在執行的時候的一些機制,其中最主要的是訊息機制。對於c語言,函式的呼叫在編譯的時候會決定呼叫哪個函式 c語言的函式呼叫請看這裡 編譯完成之後直接順序執行,無任何二義性。oc的函式呼叫成為訊息傳送。屬於動態呼叫過程。在編譯的時候並不能決定真正呼叫哪個函式 事實證明,在...

iOS開發中runtime的使用

事實證明 1.傳送訊息 implementation viewcontroller void viewdidload end implementation uiimage image 載入分類到記憶體的時候呼叫 void load 注意 不能在分類中重寫系統方法imagenamed,因為會把系統的功...

IOS高階開發 Runtime(三)

11 系統類的方法實現部分替換 void methodexchange 列印結果 仔細看log 2013 07 26 16 33 22.776 highoc 7104 c07 sssaaaass 2013 07 26 16 33 22.778 highoc 7104 c07 sssaaaass 12...