快速发送可选数据到服务

时间:2018-10-10 14:18:33

标签: swift alamofire

我正在开发一个更新用户控制器。我上面有一些文本字段,例如姓名,姓氏,邮件和电话。但是这些都是可选的。我必须准确发送用户ID,然后将发送用户更改的数据。它可能只是邮件或电话。我创建了这样的路由器。

  // MARK: - Parameters
internal var parameters: Parameters? {
    switch self {
    case  .backedProjects, .activities, .getUserInfo, .updateUserInfo:
        return nil
    case .updateUserInfo(UpdateUserInfoRequestModel): //ERROR
        return self.parameters
    }
}

我在响应模型中创建了一个转换字典方法。

func convertToDictionary(updateUserInfo: UpdateUserInfoRequestModel) -> [String: Any]{

    var parameters: [String: Any] = [:]

    parameters["id"] = updateUserInfo.id
    parameters["name"] = updateUserInfo.name
    parameters["title"] = updateUserInfo.title
    parameters["linkedIn"] = updateUserInfo.linkedIn
    parameters["surname"] = updateUserInfo.surname
    parameters["emailPvt"] = updateUserInfo.emailPvt
    parameters["image"] = updateUserInfo.image
    parameters["created"] = updateUserInfo.created
    parameters["emailVerificationDate"] = updateUserInfo.emailVerificationDate
    parameters["phoneVerificationDate"] = updateUserInfo.phoneVerificationDate
    parameters["corporate"] = updateUserInfo.corporate
    parameters["userStatus"] = updateUserInfo.userStatus
    parameters["city"] = updateUserInfo.city
    parameters["userCoin"] = updateUserInfo.userCoin
    parameters["paycellAgreement"] = updateUserInfo.paycellAgreement

    return parameters
}

如何使用converToDictionary方法将数据发送到路由器。我必须准确发送ID。如果用户不更改该参数,该如何检查并发送其他参数。

0 个答案:

没有答案