【问题标题】:How can I save an array to UserDefaults, and then retrieve that array and print [duplicate]如何将数组保存到 UserDefaults,然后检索该数组并打印 [重复]
【发布时间】:2018-02-07 23:30:30
【问题描述】:

这是我的代码。这似乎是一个错误。谁能帮忙。

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

【问题讨论】:

标签: ios arrays swift swift3 nsuserdefaults


【解决方案1】:
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:)
  • 是的,我接受了你的编辑。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多