[英]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.