gpt4 book ai didi

ios - 当 UserDefaults 为空时尝试从中获取数据时出错

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

我有这段代码

let storedObject: Data = UserDefaults.standard.object(forKey: "SavedHighScoreArray") as! Data
highScores = try! PropertyListDecoder().decode([HighScore].self, from: storedObject)

每当它运行时(并且 UserDefaults 为空)我都会收到以下错误:

Could not cast value of type '__NSCFArray' (0x10cfca0b8) to 'NSData' (0x10cfc75e8). 2019-05-13 16:21:55.225691+0200 BrainTrainerSwift[77393:4089984] Could not cast value of type '__NSCFArray' (0x10cfca0b8) to 'NSData' (0x10cfc75e8).

谁能告诉我这里的问题是什么?

最佳答案

如果您不确定是否为该键保存了一些内容,则不能强制转换 object(forKey: "SavedHighScoreArray") as!数据

您似乎将 UseDefaults 中的项目保存为 Array

相反,您可以使用 guard letif let,这样应用就不会崩溃,您可以管理回退

guard let data = UserDefaults.standard.object(forKey: "SavedHighScoreArray") as? Data else { \\do something here for the fallback return  }

关于ios - 当 UserDefaults 为空时尝试从中获取数据时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56114371/

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