gpt4 book ai didi

xcode - 在 NSUserDefaults 中存储字典导致 EXC_BAD_ACCESS

转载 作者:搜寻专家 更新时间:2023-11-01 05:41:56 25 4
gpt4 key购买 nike

//Declarations
var scoreIncrement:Int = 0
var team = ""
var userScore = Dictionary<String,Int>()

//Set Values
team = "USA"
userScore[team] = 0

//Store in NSUserDefaults
NSUserDefaults.standardUserDefaults().setObject(userScore, forKey: "userScore")
NSUserDefaults.standardUserDefaults().synchronize()

//Increment Score
scoreIncrement = 1
userScore[team]! += scoreIncrement

以上代码在代码的最后一行给出“EXC_BAD_ACCESS(code=EXC_I386_GPFLT)”错误。但是,如果我注释掉一行:

NSUserDefaults.standardUserDefaults().setObject(userScore, forKey: "userScore")

错误消失了。知道为什么会这样,我什至还没有从 NSUserDefaults 检索字典。

最佳答案

通过在保存字典后立即从 NSUserDefaults 中检索字典来解决问题:

var userScoreTemp : AnyObject? = NSUserDefaults.standardUserDefaults().objectForKey("userScore")
if userScoreTemp != nil {
userScore = userScoreTemp! as Dictionary
}

关于xcode - 在 NSUserDefaults 中存储字典导致 EXC_BAD_ACCESS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28348109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com