1

我需要一个全局 IBOutlet 变量的原因是,我不想在切换视图后丢失数据。例如,我有一个IBOutletandUIlabel并设置它的文本。

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

从另一个视图切换回来后, UILabel 将设置为零,我不希望它发生。有任何想法吗?

4

2 回答 2

3

您的问题表明您将数据存储在视图内。这意味着您违反了 MVC(模型-视图-控制器),这是您的问题的根源。正确的解决方案是将数据移出视图和视图控制器,并将其放入单独的模型对象中。然后你不在乎你是在屏幕上还是在屏幕上。正如 Andrei G 所说,您将在viewWillAppear:.

之前关于这个话题的一些讨论:

于 2012-08-12T03:03:16.743 回答
2

尝试这个:

在 viewDidDisappear 上使用 NSUserDefaults(或声明一个全局 NSString 变量)保存值并在 viewDidAppear 上设置 UILabel.text

于 2012-08-12T02:52:21.887 回答