2

我有一个用户正在输入数据的多视图过程,并且我将其保存到模型类属性中的每一步。

textFieldDidEndEditing用来检查输入是否有效,如果有效,则保存输入的数据。

在视图上,我有一个 continueButtonClicked 事件,用于检查是否所有验证都通过,如果是,则加载下一个视图。我没有在这里设置模型的属性,因为我认为我不应该这样做,因为每个字段一次都保存到模型 1 字段中。但是,我注意到了一些问题。

如果用户在文本框内并单击“继续”按钮,则 continueButtonClicked 事件在textFieldDidEndEditing. 最终发生的是下一个视图在保存之前填充了“旧”模型textFieldDidEndEditing

我错过了什么?在 Continue 上设置所有属性是否合适?如果我正在为 Web 编程,我会这样做,但对于本机应用程序来说似乎并不合适。

4

2 回答 2

4

您可以调用resignFirstResponder活动的文本字段/文本视图(或所有这些),这将触发textFieldDidEndEditing.

通常,对于此类文本编辑问题,另一种方法是滥用-textField:shouldChangeCharactersInRange:...委托方法,您可以在其中确定输入的每个字符的新值。如果没有其他方法,您应该只使用此方法。

于 2012-02-17T02:18:19.460 回答
1

你可以试试这个,看看是否能解决你的问题?

textFieldShouldEndEditing:
于 2012-02-17T02:19:19.707 回答