【问题标题】:iphone-sdk, sharing data between multiple viewsiphone-sdk,在多个视图之间共享数据
【发布时间】:2011-05-25 04:34:40
【问题描述】:

举个例子..

单个 tabBarController 在两个视图之间切换,每个视图都由它们自己的视图控制器处理(比如说 viewController1、viewController2)。

我有一个名为 Widget 的类,它具有“名称”属性。

所以我在 view1 中有代码,它将读取文本字段的内容并设置我的小部件对象的“名称”属性。

我想在 view2 中有代码来读取小部件对象的“名称”属性并显示在某处。

1.我将在哪里声明我的小部件类的实例?在 tabBarController 中?

2。如果是这样,我将如何在我的其他两个视图控制器中访问该实例?

提前致谢!

【问题讨论】:

    标签: objective-c iphone


    【解决方案1】:

    您可以将小部件类作为属性放在应用程序委托上。

    @interface youAppDelegate : NSObject <UIApplicationDelegate> {
       Widget *myWidget;
    }
    
    @property (readonly) Widget *myWidget;
    
    @end
    

    然后,在应用程序委托的消息“applicationDidFinishLaunching”上实例化它。

    完成此操作后,您可以从项目中的任何位置访问 myWidget,如下所示:

    youAppDelegate *ad = (youAppDelegate*)[UIApplication sharedApplication].delegate;
    Widget *w = [ad myWidget];
    

    该代码可以在 viewController1、viewController2 甚至 tabBarController 上完美编译和执行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多