[英]Error with parameters adding to the request in Alamofire
我正在使用名為Alamofire的新網絡庫在Swift中執行POST請求。
Alamofire允許您單獨構建參數格式並添加它。 這是我的請求格式。
{
"DeviceCredentials": {
"UniqueId": "sample string 1"
},
"Personalnumber": "sample string 1"
}
以下是我提出的建議。
let parameters = [
"DeviceCredentials": ["UniqueId": uniqueID],
"Personalnumber": personalNumber
]
uniqueID
和personalNumber
都是String類型。 此時我沒有收到任何錯誤,但是當我嘗試將其添加到請求時,
Alamofire.request(.POST, "https://www.example.com/api/", parameters: parameters, encoding: .JSON(options: nil)).responseJSON { (request, response, JSON, error) -> Void in
println(JSON!)
}
我在parameters
參數中得到此錯誤, 'String'與'NSObject'不同 。
我的格式有問題還是這個錯誤?
謝謝
編輯 :我發現用這樣的整數替換uniqueID
( ["UniqueId", 1]
)可以消除錯誤。 但我嘗試了另一種格式作為測試,我已在下面列出,它編譯沒有任何錯誤!
let paras = [
"DeviceCredentials": ["UniqueId": uniqueID],
"UserCredentials": ["Personalnumber": personalNumber]
]
在你的第一個“參數”例子中,你在字典中有混合類型,而Swift顯然無法找出它的推斷類型。 您可以使用類型注釋來解決此問題:
let parameters : [ String : AnyObject] = [
"DeviceCredentials": ["UniqueId": uniqueID],
"Personalnumber": personalNumber
]
在你的第二本字典“para”中,所有類型都相等,類型推斷成功。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.