如何访问其他类中的属性/方法
Posted
技术标签:
【中文标题】如何访问其他类中的属性/方法【英文标题】: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 和切换选项卡?
【问题讨论】:
【参考方案1】:如果您在实现中使用@synthesize
,那么您正在实现的是公共的getter 和setter 集。
这意味着,如果您可以在此处获得指向您的 RootViewController 的指针,您还可以对其 .arTabBarController
属性执行任何您想做的事情。
【讨论】:
【参考方案2】:您也可以使用“keyPaths”。 比如:
UITabBarController *controller = [[UIApplication sharedApplication] valueForKeyPath:@"delegate.rootViewController.arTabController"];
参考Key-Value Coding Programming Guide
【讨论】:
以上是关于如何访问其他类中的属性/方法的主要内容,如果未能解决你的问题,请参考以下文章
如何访问其他控制器类中 UIImageView 子类中声明的图像属性?