Sende ein Array als Parameter in einer Alamofire POST Anfrage

Meine App verwendet derzeit AWS API Gateway und Alamofire, um auf verschiedene Lambda-Funktionen zuzugreifen, die als mein Backend fungieren.

Ich muss ein Array als einen der Parameter an einen dieser API-Endpunkte senden. Dafür verwende ich den folgenden Code:

        var interests : [String]
        interests = globalInterests.map({ (interest) -> String in
            return interest.id!
        })

        // Parameters needed by the API
        let parameters: [String: AnyObject] = [
            "name" : name,
            "lastName" : lastName,
            "interests" : interests
        ]


        // Sends POST request to the AWS API
        Alamofire.request(.POST, url, parameters: parameters, encoding: .JSON).responseJSON { response in

            // Process Response
            switch response.result {

            case .Success:

                print("Sucess")

            case .Failure(let error):
                 print(error)
            }
        }

Aber das funktioniert nicht, weil das Array von der API nicht erkannt wird, aber wenn ich ein "statisches" Array erstelle

let interests = ["a", "b", "c"] 

Alles funktioniert so wie es soll.

Wie kann ich diese Situation beheben, wenn das Array von Interessen aus einem anderen Teil des Codes stammt? Wie soll ich es deklarieren oder konstruieren?

Ein Freund hat dies in Android mit einem @ erreich

ArrayList<String>

BEARBEITEN

Drucken Sie das Parameter-Array, um Folgendes zu sehen:

["name":test, "interests": <_TtCs21_SwiftDeferredNSArray 0x7b05ac00>( 103, 651, 42), "lastName": test]

Antworten auf die Frage(10)

Ihre Antwort auf die Frage