gpt4 book ai didi

ios - 尝试使用 NSUserDefaults() 保存数组时出错

转载 作者:行者123 更新时间:2023-11-29 01:23:17 28 4
gpt4 key购买 nike

我正在尝试使用 NSUserDefaults() 保存数组,以便即使在关闭程序后也可以访问数据。我过去一直成功地使用它来保存整数和字符串。但是,当我尝试保存数组时,它不起作用。这是一个例子:

 var superarray = [AnyObject?]()
superarray.append("Test")
superarray.append(3)
superarray.append(NSDate()) //random examples

NSUserDefaults.standardUserDefaults().setObject(superarray, forKey: "AnyKey")

它给出错误:“无法将类型‘[AnyObject?]’的值转换为预期的参数类型‘AnyObject?’ ”

这是否意味着 .setObject() 不能接受数组?还有其他选择吗?

提前致谢!

最佳答案

NSUserDefaults 只能存储属性列表类型的对象。

提醒,plist 仅限于这些对象:

  • NS数据
  • NS 字符串
  • NS编号
  • NSDate
  • NS数组
  • NS字典

在这里你可以使用 NSMutableArray 而不是你的可变数组

let superarray = NSMutableArray();
superarray.addObject("Test")
superarray.addObject(3)
superarray.addObject(NSDate())

NSUserDefaults.standardUserDefaults().setObject(superarray, forKey: "AnyKey")

更多细节在这里: http://www.codingexplorer.com/nsuserdefaults-a-swift-introduction/

关于ios - 尝试使用 NSUserDefaults() 保存数组时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34344407/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com