簡體   English   中英

iphone-sdk,在多個視圖之間共享數據

[英]iphone-sdk, sharing data between multiple views

舉個例子。。

單個 tabBarController 在兩個視圖之間切換,每個視圖都由它們自己的視圖 controller(比如說 viewController1、viewController2)處理。

我有一個名為 Widget 的 class ,它具有“名稱”屬性。

所以我在 view1 中有代碼,它將讀取文本字段的內容並設置我的小部件 object 的“名稱”屬性。

我想在 view2 中有代碼來讀取小部件 object 的“名稱”屬性並顯示在某處。

1. 我將在哪里聲明我的小部件 class 的實例? 在 tabBarController 中?

2. 如果是這樣,我將如何在我的其他兩個視圖控制器中訪問該實例?

提前致謝!

您可以將小部件 class 作為應用程序委托的屬性。

@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 上完美地編譯和執行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM