我有一个字典数组,我想按每个字典中的“itemName”键按字母顺序对它们进行排序。我如何在 Swift 中执行此操作?
我想对 itemsArray 进行排序。
let array = PFUser.currentUser()?.objectForKey("Collections") as! [[String : AnyObject]]
let collectionsDictionary = array[0]
itemsArray = collectionsDictionary[self.title!] as! [[String : AnyObject]]
for dictionary in itemsArray {
itemNames.append(dictionary["itemName"] as! String)
itemUPC.append(dictionary["UPC"] as! String)
pricePaid.append(dictionary["pricePaid"] as! String)
currentPrice.append(dictionary["currentPrice"] as! String)
model.append(dictionary["model"] as! String)
if (dictionary["image"] != nil) {
imagesArray.append(dictionary["image"] as! PFFile)
} else {
imagesArray.append(nil)
}
}
最佳答案
可能是这样的,使用sort
:
let sortedArray = itemsArray.sort { $0["itemName"] < $1["itemName"] }
其中“$0”和“$1”分别代表数组中的每个字典及其后继。
如果编译器因为不知道此键的值是字符串而提示类型,您可以像这样进行转换(正如@Cristik 在评论中所说):
let sortedArray = itemsArray.sort { ($0["itemName"] as? String) < ($1["itemName"] as? String) }
关于ios - 按键值对字典数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34745802/