RunTime執行時之動態新增方法

2021-09-11 12:59:42 字數 1263 閱讀 5010

#import "viewcontroller.h"

#import "person.h"

複製**

/* 

1:runtime(動態新增方法):oc都是懶載入機制,只要乙個方法實現了,就會馬上新增到方法列表中.

qq,微博,直播等等應用,都有會員機制

performselector:去執行某個方法。performselector withobject :object為前面方法的引數

2:美團有個面試題?有沒有使用過performselector,什麼時候使用?動態新增方法的時候使用過?怎麼動態新增方法?用runtime?為什麼要動態新增方法?

*/@inte***ce viewcontroller ()

@end

@implementation viewcontroller

- (void)viewdidload

@end

#import "person.h"

#import

@implementation person

// 沒有返回值,也沒有引數

// void,(id,sel)

void aaa(id self, sel _cmd, nsnumber *meter)

複製**

+ (bool)resolveinstancemethod:(sel)sel

return [super resolveinstancemethod:sel];

}//- (void)test

////

// return [super resolveinstancemethod:sel];

//}@end

複製**

@implementation viewcontroller

- (void)viewdidload

@end

@implementation person

// void(*)()

// 預設方法都有兩個隱式引數,

void eat(id self,sel sel)

複製**

+ (bool)resolveinstancemethod:(sel)sel

return [super resolveinstancemethod:sel];

}@end

複製**

runtime 執行時機制

首先,第乙個問題,1 runtime實現的機制是什麼,怎麼用,一般用於幹嘛?這個問題我就不跟大家繞彎子了,直接告訴大家,runtime是一套比較底層的純c語言api,屬於1個c語言庫,包含了很多底層的c語言api。在我們平時編寫的oc 中,程式執行過程時,其實最終都是轉成了runtime的c語言 r...

runtime 執行時機制

必備常識 1.ivar 成員變數 2.method 成員方法相關應用 1.nscoding 歸檔和解檔,利用runtime遍歷模型物件的所有屬性 2.字典 模型 利用runtime遍歷模型物件的所有屬性,根據屬性名從字典中取出對應的值,設定到模型的屬性上 3.kvo 利用runtime動態產生乙個類...

runtime 執行時機制

runtime 執行時機制 一 runtime是什麼 1 runtime是乙個全動態語言,是基於c語言的庫,裡面包含了很多底層的c語言函式。2 平時編寫的oc 在程式執行過程中,其實最終都是轉成了runtime的c語言 runtime算是oc方法的底層實現,換句話說oc的實現也就是runtime的底...