采取以下示例..
单个tabBarController在两个视图之间切换,每个视图由它们自己的视图控制器处理(比如viewController1,viewController2).
我有一个名为Widget的类,它具有属性'name'.
所以我在view1中有代码,它将读取文本字段的内容并设置我的widget对象的'name'属性.
我想在view2中使用代码来读取widget对象的'name'属性并显示在某处.
1.我将在哪里声明我的widget类的实例?在tabBarController中?
2.如果是这样,我将如何在其他两个viewcontrollers中访问该实例?
提前致谢!
您可以将您的窗口小部件类作为属性放在Application Delegate上.
@interface youAppDelegate : NSObject{ Widget *myWidget; } @property (readonly) Widget *myWidget; @end
然后,在应用程序委托的消息"applicationDidFinishLaunching"上实例化它.
完成后,您可以从项目的任何位置访问myWidget,如下所示:
youAppDelegate *ad = (youAppDelegate*)[UIApplication sharedApplication].delegate; Widget *w = [ad myWidget];
该代码可以在viewController1,viewController2甚至tabBarController上完美编译和执行.