簡體   English   中英

參數添加到Alamofire中的請求時出錯

[英]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
]

uniqueIDpersonalNumber都是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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM