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放在这里:(
答案 0 :(得分:1)
获取相同的实例
for(UIViewController * self.navigationController.viewControllers中的视图)
{
if(view isKindOfClass:[viewControllerB class])
{
[view yourmethodname];
}
}
答案 1 :(得分:0)
如果你想在viewControllerB的同一个实例上调用该函数,那么你必须从你添加它的地方取出该实例。