Размещать с помощью HTTP struct Codable в виде JSON-массива с помощью Alamofire - PullRequest
0 голосов
/ 19 апреля 2019

Я использую Swift 4.2 , Xcode 10.2.1 и Alamofire 4.8.2

Примечание: Я использовал Alamofire 5, но документации пока нет

У меня есть этот код:

struct User: Codable {


    var name : String
    var lastname : String
    var email : String
    var passwd : String
    var grade: String
    var img: String
}

Затем я присваиваю каждой переменной значение nameField.

       let user = User(name: nameField.text!, lastname: lastnameField.text!, email: emailField.text!, passwd: passwdField.text!, grade: gradeField.text!, img: base64ImageString)

Я подчиняю это своей функции, submitRegistration(for: user)

А потом в моей функции с Alamofire


func submitRegistration(for user: User) {

    Alamofire.request("https://httpbin.org/post", method: .post, User: user, encoding: JSONEncoding.default)
}

Но тогда я получаю следующую ошибку:

Неоднозначная ссылка на запрос члена (_: метод: параметры: кодировка: заголовки:) '

1 Ответ

0 голосов
/ 19 апреля 2019

Это работает для меня

Неоднозначная ссылка на загрузку элемента (_: to: method: headers: interceptor:) '

Или попробуйте этот метод

func postJSON() {

    let url = "Your URL"

    let parameters = ["name":tFname.text!,"Lastname":tFLastname.text!,"password":tFpassword.text!,"email":tFemail.text!,"address":tVaddress.text!] as NSDictionary

    AF.request("http://XXXXXXXXXXXXXXX/register", method: .post, parameters: (parameters as! Parameters), encoding: JSONEncoding.default)
        .responseJSON { response in
            print(response)
            switch response.result {
            case .success:
                print(response)
            case .failure(let error):
                print(error)
            }
    }

} 
...