ios - 在第二次调用期间将数据填充到方法中的字典时出错

标签 ios xcode swift ios8

我调用了一个方法来将数据发送到网络服务,但是当我第二次调用它时,参数中的值不同,我得到了一个错误。

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/

相关文章:

ios - 水平 ScrollView 不滚动

iphone - 如何检查plist是否为空

ios - 无法将 View 放在导航栏上方

iphone - 游戏中心排行榜显示计数,不输入分数

swift - 如何制造一个不会不断加速物体的力 SpriteKit Swift

ios - 使用 Alamofire 路由器显示事件指示器

ios - 将数组追加到数组的数组中,如果它在内部具有相同的值。 swift

ios - 在 UITableViewDelegate 扩展中使用未解析的标识符

swift - 我的应用程序上的键盘问题

ios - 如何将 vCard 转换为 CNContact