我调用了一个方法来将数据发送到网络服务,但是当我第二次调用它时,参数中的值不同,我得到了一个错误。
let userdefault = NSUserDefaults.standardUserDefaults()
var params:Dictionary<String,String> = Dictionary()
override init() {
var league_id = userdefault.valueForKeyPath("userdata.User.active_league") as Int
var hash = userdefault.valueForKeyPath("userdata.encrypted") as String
var token = userdefault.valueForKeyPath("userdata.token") as String
params = ["token": token, "hash": hash, "league_id": String(league_id)]
}
func switchleague(active_league: Int) -> Bool {
var switched = false
var url = "switchleague"
var user_id = userdefault.valueForKeyPath("userdata.User.id") as Int
// following error is shown to the code line below
// Thread 1:EXC_BAD_ACCESS (code=EXC_i386_GPFLT)
params.updateValue(String(active_league), forKey: "active_league")
params.updateValue(String(user_id), forKey: "user_id")
var resp:AnyObject = conn.postArrayToUrl(base + url, params: params)
switched = resp.valueForKey("success") as Bool
if(switched == true) {
var league_id = resp.valueForKey("active_league") as Int
userdefault.setObject(league_id, forKey: "userdata.User.active_league")
userdefault.synchronize()
}
return switched
}
我用不同的方法做了几乎相同的事情并且没有问题。 对此有什么想法吗? 非常感谢
最佳答案
我遇到了同样的问题,我使用 NSMutableDictionary 而不是 native swift 字典解决了
关于ios - 在第二次调用期间将数据填充到方法中的字典时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26866277/