0

我有一个具有一些 UITabBarController 属性的 RootViewController:

@interface RootViewController : UIViewController<LoginViewDelegate, UITabBarControllerDelegate> {
    UIBarButtonItem*    loginButton;
    NSUserDefaults*     prefs;
    UITabBarController* arTabBarController;
    UITabBarController* stvTabBarController;
    UITabBarController* stTabBarController;
    BOOL                tabBarSaved;
}

@property(nonatomic,retain) UIBarButtonItem*    loginButton;
@property(nonatomic,retain) UITabBarController* arTabBarController;
@property(nonatomic,retain) UITabBarController* stvTabBarController;
@property(nonatomic,retain) UITabBarController* stTabBarController;
@property(assign)           BOOL                tabBarSaved;

我希望能够从另一个类访问这些标签栏控制器。

如何在另一个类中使用 UIApplication 来访问 UITabBarControllers 和切换选项卡?

4

2 回答 2

0

如果你@synthesize在你的实现中使用,那么你正在实现的是公共的 getter 和 setter 集。

这意味着,如果您可以在此处获得指向您的 RootViewController 的指针,您还可以对其.arTabBarController属性做任何您想做的事情。

于 2010-06-18T18:15:29.133 回答
0

您也可以使用“keyPaths”。就像是:

UITabBarController *controller = [[UIApplication sharedApplication] valueForKeyPath:@"delegate.rootViewController.arTabController"];

请参阅键值编码编程指南

于 2010-06-18T20:45:41.680 回答