Swift Alamofire POST запрос - преобразовать массив NSObject, чтобы соответствовать типу параметра - PullRequest
0 голосов
/ 11 января 2019

У меня есть массив Contact, который является объектом NSObject. Это создается, когда мое приложение для iOS захватывает контакты пользователя и отображает их в виде таблицы.

class Contact: NSObject {

     var name: String
     var phone: String

     override init() {
         self.name = ""
         self.phone = ""
     }

     init( givenName: String, familyName: String, phoneNum: String ) {
         self.name = givenName + " " + familyName
         self.phone = phoneNum
     }
}

Итак, массив contacts, с которым я пытаюсь работать, имеет тип [Contact]. Мне нужно позвонить в сервис, используя Alamofire, который отправляет тело в следующем формате:

{
    "contacts": [
         {
             "name": ...,
             "phone": ...
         },...
    ]
}

У меня есть запрос Alamofire:

Alamofire.request(url, method: .post, parameters: parameters, headers: headers)
        .responseJSON { response in
            print(response)
            if response.result.value != nil {
                let swiftyJSONVar = JSON(response.result.value)
                print(swiftyJSONVar)
            }
    }

и параметры:

let parameters: Parameters = [
        "contacts": contacts
    ]

Моя проблема в том, что сервисный вызов не распознает «контакты», потому что он явно не отправляет в качестве действительного JSON. Пожалуйста, помогите!

...