尝试在Swift中将字符串保存到UserDefaults时崩溃

时间:2019-12-12 19:00:25

标签: ios swift

我正在使用这一行代码将字符串保存到UserDefaults,

UserDefaults.standard.set(userSelected, forKey: "myKeyString")

但这会导致崩溃,

[User Defaults] Attempt to set a non-property-list object (Function) as an NSUserDefaults/CFPreferences value for key myKeyString

为什么?

1 个答案:

答案 0 :(得分:0)

原来,上面的错误消息中有很重的线索。 userSelected实际上是一个函数,该函数以字符串形式返回当前选定的用户(通过Picker)。我未能添加()来调用该函数,因此该引用实际上是对func的引用。但是,此编译就很好了,直到运行时事情才出现问题。

固定代码如下,

UserDefaults.standard.set(userSelected(), forKey: "myKeyString")

希望这对其他人有帮助。

相关问题