我有我想要排序的數據數組中的名稱和距離字段;我可以按任何一種排序,但不能一起排序。我希望數據先按名稱排序,然後再按距離排序,但當我一起使用這兩個數據時,排序總是在列表中的第一個描述符上,第二個似乎被忽略。排序字符串和浮動不工作
NSSortDescriptor *nameSort = [[NSSortDescriptor alloc]
initWithKey:@"NAME"
ascending:YES
selector:@selector(localizedStandardCompare:)];
NSSortDescriptor *distanceSort = [[NSSortDescriptor alloc]
initWithKey:@"DISTANCE"
ascending:YES];
sortedArray = [featureSet.features sortedArrayUsingDescriptors:@[nameSort, distanceSort]];
[super.tableView reloadData];
當你有兩種類型的描述符,之後的第二僅被用作'決勝者'。如果你按名稱排序,那麼距離,「亞當」總是會在「布賴恩」之前出現。但距離爲100的「亞當」會在距離爲200的「亞當」之前出現。那不是你所看到的行爲嗎?還是你想做一些不同的事情? – alivingston
嗯,我的名字都不一樣,所以我不知道;它可能是一個打破平局的工作。 – dfdumaresq
我更喜歡在「A&W#0339」,「23公里」之前出現的「A&W#0338」,「25公里」。我想這是有道理的,因爲我的主要排序是在NAME上。 – dfdumaresq