Swift:传递params - 在解开Optional值时意外地发现了nil

时间:2016-06-08 07:40:32

标签: swift swift2 alamofire

我正在尝试使用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

enter image description here

我注意到其中一个值是NSTaggedPointerString,而其他所有值都是AnyObject。这是一个问题吗?

0 个答案:

没有答案