我有一个NSUserdefault,我要么设置为nil,要么是Date,我正在尝试检索它并相信下面的代码应该可以工作,但是在打印并尝试运行代码时,我在控制台中收到以下错误它的一些NSCFData格式?我没有把它设置为任何地方,所以想知道它从那个破坏app的数据类型?
let timerStoppingDate = UserDefaults.standard.object(forKey: "setStopDate") as! Date
在SETSTOPDATE USERDEFAULT设置为可选(小于62706c69 73743030 d4010203 04050608 09582476 65727369 6f6e5824 6f626a65 63747359 24617263 68697665 72542474 6f701200 0186a0a1 0755246e 756c6c5f 100f4e53 4b657965 64417263 68697665 72d10a0b 54726f6f 74800008 111a232d 3237393f 51545900 00000000 00010100 00000000 00000c00 00000000 00000000 00000000 00005b&GT) 无法将'__NSCFData'(0x109b0f680)类型的值转换为'NSDate'(0x109b10080)。
并在此处设置:
func createTimer(stopDate: Date) {
print("CONSTRUCTING A TIMER")
userDefaults.set(stopDate, forKey: "setStopDate")
我相信它的失败应该设置为nil,所以它不是一个NSCFData类型?
答案 0 :(得分:0)
它不是一个理想的答案,但我更改了关键名称,所以我有一个新的UserDefault,它解决了问题,也许旧密钥已损坏,没有其他任何改变,新的密钥名称使一切正常