0

我对 Cocoa Touch 还很陌生。现在我正在尝试继承 UIViewController 来提供我的自定义视图。由于我打算使用 NSUserDefaults 保存 UITextField (passcodeField) 的内容,因此我希望在 UITextField 更改其值时得到通知。

我在某处读过,为了做到这一点,我应该将视图控制器添加为 UITextFieldTextDidChangeNotification 通知的观察者。但是,我只是不确定何时这样做。我考虑了几个选项。

  1. -loadView方法中。但是,由于我使用 XIB 加载我的视图,我认为我不应该弄乱这种方法,而应该保持原样。(顺便说一句,我在这一点上是否正确?)

  2. -viewWillAppear方法中。但是这个方法可能会被多次调用,因为视图可能会被移出并移入屏幕而不会被销毁和重新创建。(我说得对吗?)这不会对程序造成任何伤害,但肯定不是正确的方法。

  3. 在 UIViewController 的初始化程序中。如果我想在那里添加通知,我必须引用 UITextField。通过这样做,我基本上可以在真正需要它之前创建视图。另外我想我在某处读到,如果系统内存不足,屏幕外视图可能会被破坏。因此,如果发生这种情况,我可能会失去观察通知,对吗?

所以我现在完全糊涂了。各位大神能不能给我一些建议把它放在哪里?非常感谢!

4

1 回答 1

0

把它放在你的 ViewController 的 - (void)viewDidLoad 方法中记得调用 [super viewDidLoad]; 在您的实施开始时。

于 2012-10-20T03:16:58.003 回答