有些時候專案需求,要呼叫內部庫中類的例項時,而又不想讓使用者知道該類,就需要用到反射機制。
nsclassfromstring該方法會獲取到乙個類物件的例項,注意,這裡「類」也是乙個物件。
nsselecorfromstring 該方法會獲取到乙個sel的例項,sel就相當於c字串的對映,目的是在該類找到該方法,然後呼叫。
例子:
id someclass = nsclassfromstring(@"yourclass");
id instance = [[someclass alloc] init];
sel selecor = nsselectorfromstring(@"yourmethod");
if (instance && [instance respondstoselector:selecor])
iOS反射 2 類方法的反射
1.nsobject常用方法 類別判斷,也可以說是動態方法 objc view plain copy student stu student alloc init autorelease iskindofclass判斷物件是否屬於某個類 或者 子類 if stu iskindofclass pers...
python 反射 python中的反射
什麼是反射?有時我們要訪問某個變數或是方法時並不知道到底有沒有這個變數或方法,所以就要做些判斷。判斷是否存在字串對應的變數及方法。我們知道訪問變數時是不能加引號的,否則會被當成字串處理。如果要通過字串找到對應的變數,那該怎麼辦呢 反射就是用於解決上面兩個問題而產生的,所謂反射,按我的理解就是反過來告...
iOS 反射機制和應用
反射機制 ios反射機制 執行時選擇建立哪個例項,並動態選擇呼叫哪個方法。獲取class的三種方法 通過字串獲取class class class nsclassfromstring nsstring nslog class type class 直接用class 來建立物件 通過物件來獲取clas...