我在plist中有一些重复数据,然后我将它提取到一个字典中并在我的应用程序中显示它。唯一的问题是它需要按照我把它放在plist中的相同顺序,但显然,字典不能被排序而且它是未排序的。那么我将如何实现这一目标呢?
我的plist数据像这样重复
然后我将其转换为类型[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很新,所以请提供你认为相关的任何信息。谢谢!