2017-06-12 27 views
-6

我正在swift3的項目中工作,並且我有一個名爲「details」的NSArray包含NSDictionary對象。我的要求是排序這個NSArray如果一個「鑰匙」作爲參數傳遞(例如: - 姓名,姓氏,年齡)。我的NSArray看起來像波紋管。當密鑰給出作爲參數時對字典數組進行排序

(
{name:"John"; 
    lastName :"bow"; 
    age: "26"; 
}, 
{ 
    name:"paul"; 
    lastName :"law"; 
    age: "19"; 
    } 

) 

我該如何做到這一點?

+0

你需要排序數組? – KKRocks

+0

objective-c還是swift?你標記了兩個。這聽起來像它可能是作業 – Scriptable

+0

斯威夫特3將罰款 – danu

回答

1

試試這個:

NSSortDescriptor * sortDescriptors = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES]; // change your key here 
NSArray * arrSortDescriptors = [NSArray arrayWithObject:sortDescriptor]; 
NSArray * sortedArray = [yourArray sortedArrayUsingDescriptors:arrSortDescriptors]; 
NSLog(@"sortedArray %@",sortedArray); 
+0

我已編輯我的代碼先生 – danu

0

使用sort

var dicts = [["name":"b"], ["name":"a"], ["name":"z"], ["name":"f"]] 
dicts.sort { $0["name"]! < $1["name"]! } 
print(dicts) 

打印[["name": "a"], ["name": "b"], ["name": "f"], ["name": "z"]]