-1
let parameters = [
"alert": model.alert, //Bool
"distance": model.distance, //Int
"minAge": model.minAge, //Int
"maxAge": model.maxAge, //Int
"access_token": access_token //String
]
Alamofire.request(.POST, Constants.Domain + "/accounts/discovery-settings", parameters: parameters).responseJSON{
(req, res, json, error) in
}
我以前做了一個非常類似的請求,它的工作。根據Alamofire的說法,我可以將參數設置爲任何值,對吧?爲什麼在Alamofire中出現「String is not NSObject」錯誤?
編輯:
如果我刪除這些行,那麼它編譯就好了。 Bool和Int類型似乎是問題。
"alert": model.alert, //Bool
"distance": model.distance, //Int
"minAge": model.minAge, //Int
"maxAge": model.maxAge, //Int
的模型是:
class DiscoverySettings {
var alert: Bool
var distance: Int
var minAge: Int
var maxAge: Int
private init(){
alert = true
distance = 10
minAge = 18
maxAge = 25
}
}
https://github.com/Alamofire/Alamofire#post-request-with-url-encoded-parameters
你能更具體嗎?這是編譯時還是運行時錯誤?它發生在哪一行?是否突出顯示了特定字符串如果這是一個運行時錯誤,您能顯示完整的堆棧跟蹤嗎? – 2015-04-05 17:45:52
(我沒有看到你發佈的代碼有什麼問題。) – 2015-04-05 17:46:36
你可以嘗試寫'access_token作爲NSString',因爲NSString是NSObject的一個子類。 – erdekhayser 2015-04-05 17:47:11