【发布时间】:2021-11-08 14:23:02
【问题描述】:
我有 M1 芯片 MacBook Air 笔记本电脑。我从 UserDefaults 设置、删除和获取值。
下面的代码我设置了值
UserDefaults.standard.setValue("my string", forKey: "UserEmail")
使用 valueforkey 获取值
UserDefaults.standard.value(forKey: "UserEmail")
使用 removeObject 从用户默认值中删除键
UserDefaults.standard.removeObject(forKey: "UserEmail")
即使我通过 "UserEmail" 设置值,我也无法获取该值。如果我运行四到五次就会发生奇怪的事情,然后有时我得到了价值,有时却不在模拟器中!我在谷歌上搜索过,堆栈溢出并且已经在这个问题上花费了很多时间,但没有找到任何解决方案。
仅当我在实际设备和其他没有 M1 芯片的笔记本电脑上运行它时才有效。
谁能帮帮我我该怎么做才能在模拟器和我的 M1 芯片笔记本电脑上正常工作。
【问题讨论】:
-
应该不是 M1 的问题。确保您不会在每次启动时意外重置
UserDefaults。 -
不,我没有重新启动用户默认值。
-
对我来说,它无法在游乐场或模拟器中重现。您在读取值时没有使用
UserDefaults.standard.string的任何原因? -
不,没有理由。我也尝试这种方式,但不适合我!
-
嗯,最重要的是,您没有提供足够的信息来使这个可重现,所以除非有人经历过(并解决了)完全相同的问题,否则我认为无法回答这个问题。跨度>
标签: swift ios-simulator swift5 apple-m1 userdefaults