我正在使用这一行代码将字符串保存到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
为什么?
答案 0 :(得分:0)
原来,上面的错误消息中有很重的线索。 userSelected实际上是一个函数,该函数以字符串形式返回当前选定的用户(通过Picker)。我未能添加()来调用该函数,因此该引用实际上是对func的引用。但是,此编译就很好了,直到运行时事情才出现问题。
固定代码如下,
UserDefaults.standard.set(userSelected(), forKey: "myKeyString")
希望这对其他人有帮助。