2017-07-23 36 views
6

Ben böyle bir POST vücut menü noktası:Heterojen koleksiyon edebi sadece '[String: Any]' ile ilgili olabilir; Bu kasıtlı ise açık tip ek açıklama eklemek

: Yani

{ 
    "id": 0, 
    "name": "string", 
    "contactInfo": "string", 
    "message": "string" 
} 

i parametrelerini yazabilmek için ben böyle sonrası vücut sözlüğünü açıklayan am Alamofire kullanıyorum beri

let body = ["id": userID, "name": userName, "contactInfo": contactInfo, "message": message] 

class func postUserFeedback(userID: Int, userName: String, contactInfo: String, message: String,completionHandler: @escaping (FeedbackResponse?) -> Void) { 
    let body = ["id": userID, "name": userName, "contactInfo": contactInfo, "message": message] 
    request(route: .userFeedback, body: body).responseObject { (response: DataResponse<FeedbackResponse>) in 

     response.result.ifSuccess({ 
     completionHandler(response.result.value) 
     }) 

     response.result.ifFailure { 
     completionHandler(nil) 
     } 
    } 

    } 

Ama alıyorum böyle hata: Error screenshot

ben bu sözdiziminde yanlış yapıyorum?

cevap

9

varsa bunu açıklama vardır:

let body : [String:Any] = ["id": userID, "name": userName, "contactInfo": contactInfo, "message": message] 
2

Değişkene [String: Any] açık bir tür eklemelisiniz. tip anlaşılamadı

let body = ["id": userID, 
      "name": userName, 
      "contactInfo": contactInfo, 
      "message": message] as [String: Any]