gpt4 book ai didi

swift - 启用 App SandBox 会导致获取 UserDefault 字典值时崩溃

转载 作者:行者123 更新时间:2023-11-30 11:19:26 28 4
gpt4 key购买 nike

我已经使用调试器进行了测试,我感兴趣的 Dictionaryvalue 都不为零。当我启用应用程序Sandbox时,应用程序崩溃,但是当我禁用它时,一切正常。在启用 Sandbox 的情况下使用 UserDefaults 时需要做些什么吗?

发生崩溃的代码:

func getPreferenceSettings(_ aKey: String) -> Bool
{
var lastPreferenceSetting: Bool!
if let currentSetting: Dictionary<String, Bool> = UserDefaults.standard.object(forKey: "defaultValues") as? Dictionary<String,Bool>{
lastPreferenceSetting = currentSetting[aKey]! //crash at this line
}else{
//show error to the user
}
return lastPreferenceSetting
}

我使用的是 Xcode 9.4

最佳答案

您必须检查defaultValuesaKey 键是否都存在。由于返回值是非可选的,因此返回 false 作为默认值。

此代码使用专用方法dictionary(forKey

func getPreferenceSettings(_ aKey: String) -> Bool
{
if let currentSetting = UserDefaults.standard.dictionary(forKey: "defaultValues"),
let lastPreferenceSetting = currentSetting[aKey] as? Bool {
return lastPreferenceSetting
} else {
//show error to the user
}
return false
}

关于swift - 启用 App SandBox 会导致获取 UserDefault 字典值时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51447223/

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