从AppDelegate访问类的运行实例

时间:2011-03-27 16:07:25

标签: iphone objective-c ios

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:不知道tu放在这里:(

2 个答案:

答案 0 :(得分:1)

获取相同的实例

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

{

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

}

答案 1 :(得分:0)

如果你想在viewControllerB的同一个实例上调用该函数,那么你必须从你添加它的地方取出该实例。