如何访问其他类中的属性/方法

发布于 2024-09-06 08:22:11 字数 883 浏览 5 评论 0原文

我有一个 RootViewController ,它有一些 UITabBarController 属性:

@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;

我希望能够从另一个类访问这些 tabbarcontrollers 。

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

I have a RootViewController that has some UITabBarController properties:

@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;

I would like to be able to access these tabbarcontrollers from another class.

How can I use UIApplication in another class to access the UITabBarControllers and switch tabs?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦回旧景 2024-09-13 08:22:11

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

这意味着,如果您可以在此处获取指向 RootViewController 的指针,您也可以对其 .arTabBarController 属性执行任何您想要的操作。

If you use @synthesize in your implementation, then what you're implementing there are public sets of getters and setters.

Which means, if you can get a pointer to your RootViewController here, you can also do anything you want to its .arTabBarController property.

格子衫的從容 2024-09-13 08:22:11

您也可以使用“keyPaths”。
类似于:

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

请参阅 键值编码编程指南

You can use "keyPaths" as well.
Something like:

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

Refer to the Key-Value Coding Programming Guide

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文