【问题标题】:How to access properties/methods in other classes如何访问其他类中的属性/方法
【发布时间】:2010-06-18 16:08:01
【问题描述】:

我有一个具有一些 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 和切换选项卡?

【问题讨论】:

    标签: iphone objective-c cocoa-touch uitabbarcontroller uiapplicationdelegate


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      您也可以使用“keyPaths”。 比如:

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

      参考Key-Value Coding Programming Guide

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-09-18
        • 1970-01-01
        • 1970-01-01
        • 2011-07-18
        • 1970-01-01
        • 2019-03-18
        • 2014-09-05
        • 2015-04-25
        相关资源
        最近更新 更多