我正在尝试使用Alamofire并将我的参数传递给我制作的函数。
这是我的代码:
let msisdn : AnyObject = textFields[0].text!
//let msisdn = textFields[0].text!
let userId = "MyID"
let params = [
"msisidn":msisdn /*as AnyObject*/,
"denom_id":self.selectedGameDetail.Id /*as AnyObject*/,
"game_id":self.selectedGameDetail.GameId /*as AnyObject*/
]
print(params)
showEZLoading(true)
su.postEpins(userId, params: params, completion:{ (result, error) -> Void in
self.hideEZLoading()
if (error != nil){
print("DEBUG: API Response Error")
Utility.displayAlert(self, msg: "There's an errror fetching data from server.")
}
else {
print("DEBUG: API Response Success")
}
})
selectedGameDetail
中的所有内容都是字符串。
这是postEpins
函数:
func postEpins(msisdn: String, params: [String: AnyObject]?, completion:(result: JSON, error: NSError?) -> Void) {
print("POST EPINS")
}
还没有做任何事情。但是,每当应用程序进入函数调用时,我都会得到:
致命错误:在解包可选值时意外发现nil
我很肯定它与params
有关,但我百分百肯定。是的,params
里面有东西。检查下面。
我尝试了什么:
好吧,如果你在我的代码中看到评论,我几乎尝试过那些。我不知道还能做什么。
作为参考,完全相同的代码适用于应用的另一部分,减去userID
- 我也尝试删除它,但它仍然给了我上述错误。
我发现了params
:
我注意到其中一个值是NSTaggedPointerString,而其他所有值都是AnyObject。这是一个问题吗?