実現したいこと
UserDefaultsへの保存時のエラーの解決
前提
3-5行目でデータをjsonStringとしてUserDefaultsに保存しています。この時に正しく保存されていることはprint"アイウエオ"のところで確かめています。画像二枚目に結果を載せました。
そして、8行目以降でそれを取り出そうとしています。
しかし取り出そうとした結果"Data not found in UserDefaults"となってしまいました。
発生している問題・エラーメッセージ
エラーメッセージは出ていません。
該当のソースコード
Swift
let willBeInUserDefaultsData = searchedDocumentIdList[indexPath.row]
let encoder = JSONEncoder()
if let encoded = try? encoder.encode(willBeInUserDefaultsData),
let jsonString = String(data: encoded, encoding: .utf8) {
UserDefaults.standard.setValue(jsonString, forKey:"theUserDefaultGroups")
print("アイウエオ(jsonString)")
}
if let savedData = UserDefaults.standard.object(forKey: "theUserDefaultGroups") as? Data {
print("savedData: (savedData)")
} else {
print("Data not found in UserDefaults")
}
試したこと
ここに問題に対して試したことを記載してください。
ChatGptにこのようになる可能性について聞き、確かめました。forKeyが二つで異なっている可能性や、保存しているデータが多すぎる可能性、保存したあとremoveされている可能性を指摘されましたが、forKeyはコピペした上で確認しておりますし、データはこれだけなので多すぎるはずはなく、またこの二つの処理は連続して行われる(はず?)のためremoveされることもないと思います。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
0 コメント