我在 plist 中有一些重复数据,然后将其提取到字典中并在我的应用程序中显示。唯一的问题是它需要与我将它放在 plist 中的顺序相同,但很明显,字典无法排序并且它是未排序的。那么我将如何实现这一目标?
我的 plist 数据像这样重复
然后我将其转换为 type 的字典[Int : ItemType]
,ItemType 是我的数据协议,如下所示:
class ExhibitionUnarchiver {
class func exhibitionsFromDictionary(_ dictionary: [String: AnyObject]) throws -> [Int : ItemType] {
var inventory: [Int : ItemType] = [:]
var i = 0;
print(dictionary)
for (key, value) in dictionary {
if let itemDict = value as? [String : String],
let title = itemDict["title"],
let audio = itemDict["audio"],
let image = itemDict["image"],
let description = itemDict["description"]{
let item = ExhibitionItem(title: title, image: image, audio: audio, description: description)
inventory.updateValue(item, forKey: i);
i += 1;
}
}
return inventory
}
}
结果是这样的字典:
[12: App.ExhibitionItem(title: "Water Bonsai", image: "waterbonsai.jpg", audio: "exhibit-audio-1", description: "blah blah blah"), 17: App.ExhibitionItem.....
我希望自从我制作了密钥的 Int 后,我可以对其进行排序,但到目前为止我还没有运气。您可能会说我对 swift 还很陌生,所以请提供您认为相关的任何信息。谢谢!