gpt4 book ai didi

ios - textFieldDidEndEditing 触发 "too late"

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:33:01 27 4
gpt4 key购买 nike

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

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

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

如果用户在文本框内并单击“继续”按钮,continueButtonClicked 事件会在 textFieldDidEndEditing 之前触发。最终发生的情况是,在 textFieldDidEndEditing 中保存之前,下一个 View 填充了“旧”模型。

我错过了什么?在Continue上设置所有属性是否合适?如果我为网络编程,我会这样做,但它似乎不适合 native 应用程序。

最佳答案

您可以在事件的文本字段/ TextView (或所有它们)上调用 resignFirstResponder,这将触发 textFieldDidEndEditing

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

关于ios - textFieldDidEndEditing 触发 "too late",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9322005/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com