UserDefaults
を使用して値を設定に保存しています。Nil UserDefaultsを設定するとNSInvalidArgumentExceptionが発生する
私はテンプレートクラスと(上書きするために必要な)値を取得する方法を持っている
func getValue(_ value: T?) -> Any?
{
return value
}
ときi'am呼び出し:value
はnil
、 Iすることができ
UserDefaults.standard.set(getValue(value), forKey: "pref_key")
このエラーが発生する:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Attempt to insert non-property list object null for key pref_key'
Wa値がnilの場合はキーを削除しないといけないのですか?
getValueメソッドから 'nil'または' NSNull'を返していますか? – rmaddy
nilですが、いくつかの値はNSNullである可能性があります。両方をサポートするはずですか? – 4bottiglie
いいえ、あなたは 'NSNull'をUserDefaultsに保存することはできません。 – rmaddy