【问题标题】:Using Dates as keys in a dictionary saved to a plist使用日期作为字典中的键保存到 plist
【发布时间】:2018-04-05 16:59:35
【问题描述】:

我有一本字典,可以保存到 plist 文件中并从中读取。

当字典类型为[String : String]时,我可以添加条目并将其保存到plist中没有问题。

如果我将其类型更改为[Date : String],我可以添加条目,并且可以将其保存到plist,但是当我尝试读取它时,它是空的。

我没有修改任何代码,除了变量声明中的类型和读取和写入 plist 的两个函数中的类型。

我错过了什么?

【问题讨论】:

    标签: ios swift dictionary cocoa-touch plist


    【解决方案1】:

    在属性列表中,所有键都必须是字符串。

    来自documentation

    虽然NSDictionaryCFDictionary 对象允许它们的键是任何类型的对象,如果键不是字符串对象,则集合不是属性列表对象

    如果你使用PropertyListSerialization而不是NSDictionaryNSArray方便的读写方法,你肯定会报错。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-02
      • 2011-01-08
      • 1970-01-01
      • 1970-01-01
      • 2020-02-13
      • 2016-06-27
      • 1970-01-01
      相关资源
      最近更新 更多