2017-08-30 70 views
-3

這是我的代碼。這似乎是一個錯誤。任何人都可以請幫忙。如何將一個數組保存到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) 
    } 
+0

https://developer.apple.com/documentation/foundation/userdefaults/1416414-stringarray – Paulw11

回答

0
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) 
} 
+0

這個答案是錯誤的。你不需要使用'Userdefaults.string(forKey:)'來檢索一個字符串數組,你可以使用'array(forKey:)'或'object(forKey:)',然後將其轉換爲'[String]'。你甚至測試過這些代碼嗎?它甚至不會編譯,因爲你正試圖給一個'String?'變量賦予一個'[String]'默認值。 –

+0

我用過的不是'String(forKey:)'我用的是'StringArray(forKey :)' –

+0

是的,這是正確的我接受了你的編輯。 –

相關問題