如何将一个数组保存到UserDefaults,然后检索该数组并打印
这是我的代码。这似乎是一个错误。任何人都可以请帮忙。如何将一个数组保存到UserDefaults,然后检索该数组并打印
class PopUpVC: UIViewController {
var myArray1 = ["1","2","3"]
var myArray2 = [String]()
UserDefaults.standard.set(myArray1, forKey: "array")
override func viewDidLoad() {
super.viewDidLoad()
self.myArray2 = (UserDefaults.standard.string(forKey: "array") as? [String])!
print(self.myArray)
}
class PopUpVC: UIViewController {
var myArray1 = ["1","2","3"]
var myArray2 = [String]()
override func viewDidLoad() {
super.viewDidLoad()
UserDefaults.standard.set(myArray1, forKey: "array")
self.myArray2 = UserDefaults.standard.stringArray(forKey: "array")!
print(self.myArray2)
}
这个答案是错误的。你不需要使用'Userdefaults.string(forKey:)'来检索一个字符串数组,你可以使用'array(forKey:)'或'object(forKey:)',然后将其转换为'[String]'。你甚至测试过这些代码吗?它甚至不会编译,因为你正试图给一个'String?'变量赋予一个'[String]'默认值。 –
我用过的不是'String(forKey:)'我用的是'StringArray(forKey :)' –
是的,这是正确的我接受了你的编辑。 –
https://developer.apple.com/documentation/foundation/userdefaults/1416414-stringarray – Paulw11