我想獲得視圖控制器名稱ID並使用id調用從ID獲取的類方法。從ID獲取ViewController名稱並調用特定的視圖方法
代碼: -
UIViewController *view = (UIViewController*)self.objCurentCallLocation;
[view LocationCalledAndReturned];
由於提前
我想獲得視圖控制器名稱ID並使用id調用從ID獲取的類方法。從ID獲取ViewController名稱並調用特定的視圖方法
代碼: -
UIViewController *view = (UIViewController*)self.objCurentCallLocation;
[view LocationCalledAndReturned];
由於提前
當我從您的代碼和說明理解,還有就是做你想做的更簡單的方法。您可以使用協議,或檢查控制器是否響應選擇器。
if ([self.objCurentCallLocation respondsToSelector:@selector(LocationCalledAndReturned)]) {
[self.objCurentCallLocation performSelector:@selector(LocationCalledAndReturned)];
}
嘿它爲我工作。非常感謝。 – Nirmalsinh
+1爲偉大的回答良好的工作:) – Rushabh
您可以獲取類視圖控制器的方式:
Class c = [view class];
您可以測試它,以確保它的你想要的一個:
if ([view isKindOfClass:[MyViewController class]]) {
// now you know it's safe you can cast it
[(MyViewController *)view LocationCalledAndReturned];
}
您可以通過獲取類名稱:
NSString *name = NSStringFromClass(c);
你的意思是你想檢查視圖控制器的實際*類*? – Wain
是的,我想讓我可以通過該類調用該類的方法。 – Nirmalsinh
不,我想轉換爲id到類。類名不是靜態的,其動態的 – Rushabh