【发布时间】:2011-07-01 04:10:09
【问题描述】:
我想用我自己的方法获取当前的视图控制器。我的意思是我有两个调用相同方法的视图控制器。在那我想区分哪个视图控制器类正在调用该方法。
请帮帮我
【问题讨论】:
标签: iphone objective-c ios ios4
我想用我自己的方法获取当前的视图控制器。我的意思是我有两个调用相同方法的视图控制器。在那我想区分哪个视图控制器类正在调用该方法。
请帮帮我
【问题讨论】:
标签: iphone objective-c ios ios4
如果是基于导航的应用,可以通过以下方式获取当前视图控制器,
UIViewController *currentVC = self.navigationController.visibleViewController;
【讨论】:
假设myCommonMethod: 是从两个视图控制器调用的通用函数,您可以使用NSObject 的isMemberOfClass: 方法检查您的viewController 是否是类的成员。
-(void) myCommonMethod:(UIViewController*) aViewController
{
if([aViewController isMemberOfClass:NSClassFromString(@"MyFirstController")])
{
}
else if([aViewController isMemberOfClass:NSClassFromString(@"MySecondController")])
{
}
}
【讨论】:
如果您的两个视图控制器都调用相同的函数,那么您可以将self 作为该方法中的参数传递,为此您可以将函数编写为 -
-(void) functionName:(UIViewController*) viewController
【讨论】: