如果这很容易,我道歉。
我有我的根视图控制器NB_ViewController。我有另一个名为ShowScreen的类。 ShowScreen如何访问NB_ViewController中的方法?
提前非常感谢你。
答案 0 :(得分:1)
在您的应用程序委托中创建一个“全局”属性,该属性保留对根视图控制器的引用,例如@property(nonatomic, retain) UIViewController *rootViewController
在app委托的-applicationDidFinishLaunching:
方法中实例化根视图控制器时,将self.rootViewController
属性设置为等于新实例化的视图控制器
在常量文件中(或在您要使用它的类标题中)添加一个#define
宏,以便您可以从任何地方访问应用程序委托,例如#define UIAppDelegate ((MyAppDelegate *)[UIApplication sharedApplication].delegate)
在ShowScreen
中,通过应用委托调用根视图控制器的属性或方法,例如: [[UIAppDelegate rootViewController] someRootVCProperty]
或[[UIAppDelegate rootViewController] someRootVCMethod:foo withArgument:bar]
如果您使用Interface Builder并且相应的根视图控制器IBOutlet
被称为rootViewController
,则步骤2应该是可选的。