iOS反射 2 類方法的反射

2021-06-28 07:31:37 字數 1579 閱讀 6453

1.nsobject常用方法:(類別判斷, 也可以說是動態方法)

[objc]view plain

copy

student

*stu = [[[student

alloc

]init

]autorelease

];  

// iskindofclass判斷物件是否屬於某個類 或者 子類

if( [stu

iskindofclass

:[person

class

]] )   

// ismemberofclass判斷物件是否屬於某個類(不包括子類)

bool

result = [stu

ismemberofclass

:[student

class

]];  

// nslog(@"%i", result);

// 直接呼叫

// [stu test];

// 間接呼叫

[stuperformselector

:@selector

(test)];  

// [stu performselector:@selector(test2:) withobject:@"abc"];

// 延遲2秒後呼叫test2:方法

[stuperformselector

:@selector

(test2:)

withobject

:@"abc"

afterdelay:2

];  

2.類的反射方法:

[objc]view plain

copy

// 類的反射(可以用作一些viewcontroller多得時候,用類的反射取得vc, 比如tabbarcontroller, 側滑選單等)

nsstring

*str = 

@"person"

;  class class

= nsclassfromstring(str);  

person

*person = [[

class

alloc

]init

];  

nslog(@"%@"

, person);  

// class變成字串

nsstring

*name =  nsstringfromclass([person

class

]);  

// 方法的反射

nsstring

*method = 

@"test"

;  sel

selector = nsselectorfromstring(method);  

[personperformselector

:selector];  

// 將sel轉換為字串

nsstring

*selectorname = nsstringfromselector(selector);  

NSObject 類的反射,方法反射(十五)

nsobject 類的反射,方法反射用法如下 import ms nsreflect.h import ms person.h import ms student.h implementation ms nsreflect void shownsreflect else 基類 iskindofcla...

java 反射獲取類方法 2

class是對乙個類的描述 類的屬性 field 類的方法 method 類的構造器 constructor method 對應類中的方法 1.獲取method 1.1獲取類的方法的陣列 cla.getdeclaremethods 1.2獲取類的指定的方法 getdeclaredmethod str...

反射 方法的反射04

方法的反射 1.如何獲取某個方法 方法的名稱和方法的引數列表才能唯一的決定某個方法 2.方法反射的操作 method.invoke 1.要獲取乙個方法就是獲取類的資訊,獲取類的資訊首先獲取類的類型別 student s new student class c s.getclass 2.獲取方法,由名...