gpt4 book ai didi

swift - 当用户在 UItextfields 中快速输入时如何验证和更新模型

转载 作者:行者123 更新时间:2023-11-30 11:35:09 25 4
gpt4 key购买 nike

我正在创建一个用户配置文件屏幕,它使用 MVC 架构显示用户详细信息。

我有 UserProfileViewController,我将根据用户是处于编辑模式还是正常模式动态添加 View 。

当用户处于正常模式时 - 我加载带有标签的NormalView(我用单独的xib设计的)来显示模型中的用户详细信息。当用户处于编辑模式时 - 我加载 editView(我用单独的 xib 设计的),其中文本字段预先填充了模型中的值。我从服务调用中获取用户详细信息并更新模型。

现在,在编辑 View 中 - 如何使 textFieldDelagate 进入 UserProfileViewController 而不是 editView 类?

当用户结束字段编辑时,我需要验证和更新模型。我怎么做?如果有任何例子或引用,请提供。我已经搜索过,但没有得到正确的答案来解决我的问题。

最佳答案

在您的 editView 中,添加以下代码行,

class EditView {

public weak var textFieldDelegate: UITextFieldDelegate?
}

如果 EditViewUIView 的子类,则在 awakeFromNib 中,如果 ViewController 则在 viewDidLoad 中code>,过滤所有文本字段并设置其委托(delegate)如下,

yourMainView.subviews.filter({ $0 is UITextField}).forEach { view in
(view as? UITextField)?.delegate = self.textFieldDelegate
}

现在在UserProfileViewController中添加此一致性,

extension UserProfileViewController: UITextFieldDelegate {

func textFieldDidEndEditing(_ textField: UITextField) {
// TextField editing done
}
}

最后,当您在 UserProfileViewController 中实例化 editView 时,将其 delegate 设置为 self,如下所示,

editView.textFieldDelegate = self

关于swift - 当用户在 UItextfields 中快速输入时如何验证和更新模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49845603/

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