Obj-C的新手,我试图触发viewControllerB实例的方法myMethod。
=> viewControllerB在viewControllerA中实例化。
=>我正在尝试从AppDelegate调用myMethod
=>似乎无论如何我都会尝试这样做,它会在viewControllerB的新实例中触发myMethod

所以问题是:如何将消息发送到viewController的现有实例?

由于我对Obj-C还不太满意,请提供代码示例进行解释。

谢谢 !

viewControllerA.m:

if (_viewControllerB == nil) {
    self.viewControllerB = [[[ViewControllerB alloc] initWithNibName:@"ViewControllerB" bundle:[NSBundle mainBundle]] autorelease];
}


viewControllerB.m:

- (void)myMethod{ NSLog(@"myMethod!");}

AppDelegate.m:不知道您在这里放什么:(

最佳答案

要获得相同的实例

用于(UIViewController * self.navigationController.viewControllers中的视图)

{

if(view isKindOfClass:[viewControllerB class])
{
     [view yourmethodname];
}


}

关于iphone - 从AppDelegate访问类的运行实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5450409/

10-16 15:08
查看更多