2012-08-12 66 views
1

我需要一個全局IBOutlet變量的原因是因爲,我不想在切換回查看後丟失數據。例如,我有一個IBOutletUIlabel並設置其文本。如何在iOS5中定義全局IBOutlet變量?

@property (retain, nonatomic) IBOutlet UIImageView *imageView; 
@property (retain, nonatomic) IBOutlet UITextField *inputText; 
@property (retain, nonatomic) IBOutlet UILabel *warnningLabel; 

從另一個視圖切換回來後,UILabel將被設置爲零,我不希望它發生。有任何想法嗎?

回答

2

試試這個:

使用保存NSUserDefaults的價值(或聲明全局的NSString變量)上viewDidDisappear和viewDidAppear設置UILabel.text

+0

它的工作,謝謝 – 2012-08-13 02:40:28

3

你的問題建議你存儲視圖的內部數據。這意味着你違反了MVC(模型 - 視圖 - 控制器),這是你的問題的根源。正確的解決方案是將數據移出視圖和視圖控制器,並將其放入單獨的模型對象中。那麼你不在乎你什麼時候在屏幕上或關閉。正如Andrei G所述,您將從viewWillAppear:的模型中重新載入數據。

以前關於這個話題的若干討論: