我有一个多视图的过程,用户输入数据,我将它保存到模型类属性的每一步。textFieldDidEndEditing“太晚了”
我用textFieldDidEndEditing
来检查输入是否有效,如果是,保存输入的数据。
在视图上,我有一个continueButtonClicked事件,检查是否所有的验证通过,如果是的话加载下一个视图。我不在这里设置模型的属性,因为我认为我不应该因为每个字段一次保存到模型1字段。但是,我注意到了一些问题。
如果用户位于文本框内并单击“继续”按钮,continueButtonClicked事件将在触发textFieldDidEndEditing
之前触发。最后发生的事情是,在textFieldDidEndEditing
发生保存之前,下一个视图将填入“旧”模型。
我错过了什么?继续设置所有属性是否合适?如果我是为网络编程,那么我会这样做,但对于本机应用程序来说这似乎不太合适。
太棒了!这似乎解决了这个问题。我有点困惑,为什么textFieldShouldEndEditing会触发两次:在continueButtonClick为ALL字段之前,并且在continueButtonClick事件触发后第二次为活动字段。这似乎是无害的,但只是好奇。 – jaySF 2012-02-17 03:17:30
如果它是你真正想要的活动的那个,你总是可以通过测试是否是第一响应者来确定它。 – mbh 2012-02-17 04:29:45