我想从 id 获取 viewcontroller 名称,并使用id调用从id获取的类方法。
代码: -
UIViewController *view = (UIViewController*)self.objCurentCallLocation;
[view LocationCalledAndReturned];
先谢谢
答案 0 :(得分:3)
正如我从您的代码和描述中理解的那样,有一种更简单的方法可以做您想要的。您可以使用 protocol ,或检查控制器是否响应选择器。
if ([self.objCurentCallLocation respondsToSelector:@selector(LocationCalledAndReturned)]) {
[self.objCurentCallLocation performSelector:@selector(LocationCalledAndReturned)];
}
答案 1 :(得分:2)
您可以通过以下方式获取视图控制器的类:
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);