辞書の配列を並べ替えようと努力しています。
私の辞書には、関心、価格、人気などのいくつかの価値があります。
助言がありますか?
NSSortDescriptor
をこのように使用します。
NSSortDescriptor * descriptor = [[NSSortDescriptor alloc] initWithKey:@"interest" ascending:YES];
stories = [stories sortedArrayUsingDescriptors:@[descriptor]];
recent = [stories copy];
stories
は並べ替える配列です。 recent
は、辞書値をソートした別の可変配列です。変更 @"interest"
ソートする必要があるキー値。
ではごきげんよう
[array sortUsingDescriptors:[NSArray arrayWithObjects:[NSSortDescriptor sortDescriptorWithKey:@"YOUR-KEY" ascending:YES], nil]];
本当に複数行に分割したくありません。それはすでに私にとって十分に単純です。
親から必要な子プロパティに移動するだけです。たとえば.
NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"parent.child.child" ascending:YES];
更新、sortUsingDescriptorsがsortArrayUsingDescriptorsになりました
だから、そのような:
items = [items sortedArrayUsingDescriptors:[NSArray arrayWithObjects:descriptor,nil]];
array = [array sortedArrayUsingDescriptors:[NSArray arrayWithObjects:[NSSortDescriptor sortDescriptorWithKey:@"YOUR-KEY" ascending:YES], nil]];
配列に割り当てることを忘れないでください
2つの辞書の関連フィールドを比較するソート関数を作成します。このバージョンがあれば、たとえばNSArray#sortedArrayUsingFunction:context:
を使用して配列をソートできます。
NSArrayクラスリファレンス を参照してください