Sort NSArray of NSDictionary objects in Swift
arrays, dictionary, sorting, swift
Solution
you must pass an array of sort descriptors (even if it's only one):
let descriptor = NSSortDescriptor(key: "name", ascending: true)
let sortedResults = results.sortedArray(using: [descriptor])
original answer (for Swift 1 I believe):
var descriptor: NSSortDescriptor = NSSortDescriptor(key: "name", ascending: true)
var sortedResults: NSArray = results.sortedArrayUsingDescriptors([descriptor])
Problem
I have retrieved some JSON data from an API and now have an NSArray full of NSDictionary objects. Each NSDictionary has a key/value pair of "name" and I want to sort the NSArray by that key/value pair. I've done quite a bit of searching but none of the solutions I've come across seem to work in the new Swift language and I'm not sure if it's possibly a bug or not... I've tried: ``` var descriptor: NSSortDescriptor = NSSortDescriptor(key: "name", ascending: true) var sortedResults: NSArray = results.sortedArrayUsingDescriptors(NSSortDescriptor(key: "name", ascending: true)) ``` But that won't compile stating "NSSortDescriptor is not convertible to [AnyObject]". Any advice?