Ios 与swift中的MVC模式兼容的注册表单

Ios 与swift中的MVC模式兼容的注册表单,ios,swift,xcode,model-view-controller,Ios,Swift,Xcode,Model View Controller,我想知道创建与MVC模式兼容的注册表表单的最佳方法是什么。假设我有一个包含一些文本字段的视图: 名字 姓 电子邮件 密码 和按钮,当用户填写所有文本字段时,将该数据发送到控制器 视图符合将数据从视图发送到控制器的协议。在这种方法中,我发送的对象我认为不是一个好主意 @objc public func acceptButtonHit(sender: UIButton){ if checkIfTextFieldsConainsCharacters(){ let user

我想知道创建与MVC模式兼容的注册表表单的最佳方法是什么。假设我有一个包含一些文本字段的视图:

  • 名字
  • 电子邮件
  • 密码
和按钮,当用户填写所有文本字段时,将该数据发送到控制器

视图符合将数据从视图发送到控制器的协议。在这种方法中,我发送的对象我认为不是一个好主意

@objc public func acceptButtonHit(sender: UIButton){

    if checkIfTextFieldsConainsCharacters(){
        let userData = UserRegisterData()
        userData.name = nameTextField.text!
        userData.surname = surnameTextField.text!
        userData.email = emailTextField.text!
        userData.password = passwordTextField.text!
        delegate?.logInButtonAction(sender: sender, text: userData)
    }
}
我可以使用所有数据作为参数,但当我需要发送更多数据时,这种方法看起来不太好

@objc public func acceptButtonHit(sender: UIButton){

    if checkIfTextFieldsConainsCharacters(){

        let name = nameTextField.text!
        let surname = surnameTextField.text!
        let email = emailTextField.text!
        let password = passwordTextField.text!
        delegate?.logInButtonAction(sender: sender, name: name, surname: surname, email: email, password: password)
    }
}
我有一个模型,让它成为结构:

    struct UserData {
        let name:String
        let surname: String
        let email: String
        let password: String
     }
控制器初始化视图并与服务器连接

问题是,将数据从视图发送到控制器并更新模型的最佳方式是什么。 如果有任何帮助,我将不胜感激。
谢谢

您想知道如何在多个控制器中维护此用户对象吗?如果是这样,使用用户默认值可能是您的最佳选择。不,实际上我只想将其发送到一个控制器,并将其保存在服务器上。但我很好奇,在将来处理此类问题时,最好的方法是什么。您能否详细说明一下当前的实施面临哪些问题?具体来说,什么引起了您的关注?我编辑了我的帖子:)您是否考虑过向结构中添加一个初始值设定项,以便在一行代码中初始化整个
UserData
对象?与初始化空的
UserData
对象并在单独的行中添加每个属性相反?