1

我通过 XCode 4.5.1 中的模板创建了一个简单的 Tab Bar 应用程序,它在 app_delegate 中为我提供了两个这样的视图控制器:

self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = @[viewController1, viewController2];
self.window.rootViewController = self.tabBarController;

在 viewController1 中,我有一个实例方法,可以写出一些登录/注销按钮。其中一个回调在 app_delegate 中,并且想要调用 viewController1 中的实例方法。我试过这个:

[[self.tabBarController.viewControllers objectAtIndex:0 ] renderButton];

但它不起作用。这种类型的查询是可能的还是我应该使用其他技术?

提前谢谢

4

1 回答 1

1

你写的应该有效。不需要强制转换(尽管它确实使代码更具可读性)。如果您确定renderButton没有被调用(在此方法中放置断点或 NSLog 消息),我的猜测是您忘记在 FirstViewController 的头文件中声明它。

@interface FirstViewController : UIViewController
-(void)renderButton;
@end
于 2012-10-25T20:15:51.050 回答