私は NSDictionaries の mutableArray をソートしようとしています。現在、1 つの objectForKey 値でソートすることでこれを行うことができますが、これに関する問題は、これらの値の多くが同じになる可能性があるため、配列をソートするには他の objectForKey が必要になることです。最初の objectForKey 比較が同じ値を返した場合、どのようにして 2 番目の objectForKey 比較に移動できるかなどを考えていました..
現在、私はこれを行っていますが、これは機能します..しかし、明らかに1つのキーでのみです。
[dataArrayOfDictionaries sortUsingComparator:^ NSComparisonResult(NSDictionary *d1, NSDictionary *d2)
{
NSString *n1 = [d1 objectForKey:@"DESCRIPTION"];
NSString *n2 = [d2 objectForKey:@"DESCRIPTION"];
return [n1 localizedCompare:n2];
} ];
私の調査では、これを試しました-
[dataArrayOfDictionaries sortUsingComparator:^ NSComparisonResult(NSDictionary *d1, NSDictionary *d2)
{
NSString *n1 = [d1 objectForKey:@"DESCRIPTION"];
NSString *n2 = [d2 objectForKey:@"DESCRIPTION"];
return [n1 localizedCompare:n2];
n1 = [d1 objectForKey:@"ID"];
n2 = [d2 objectForKey:@"ID"];
return [n1 localizedCompare:n2];
} ];
ただし、説明に基づいて並べ替えてから ID に基づいて完全に並べ替えるため、これは機能しません。説明キーが同じ場合は、それらの値を ID キーで並べ替える必要があります。それが機能しない場合は、のリストを下に移動しますソートされるまでのキー..これが理にかなっていることを願っています..どんな助けでも大歓迎です。