【发布时间】:2017-08-12 22:59:29
【问题描述】:
我正在使用UserDefaults 将值存储到首选项中。
我有一个模板类和一个获取值的方法(需要重写)
func getValue(_ value: T?) -> Any?
{
return value
}
当我打电话时:
UserDefaults.standard.set(getValue(value), forKey: "pref_key")
其中value 可以是nil,
我得到这个错误:
由于未捕获的异常而终止应用程序 'NSInvalidArgumentException',原因:'尝试插入非属性 为 key pref_key 列出对象 null
如果值为 nil,它不应该删除键吗?
【问题讨论】:
-
您是从您的
getValue方法返回nil还是NSNull? -
nil,但有些值可能是 NSNull,不是应该支持两者吗?
-
不,您不能在 UserDefaults 中存储
NSNull。
标签: ios swift nsuserdefaults