いくつかのオブジェクトNSArray
を含む がありNSString
ます。例えば:
NSArray *objects = @[@"Stin",@"Foo",@"Ray",@"Space"];
次に、次の文字列の順序に基づいて、この配列を並べ替える必要があります。
NSArray *sortOrder = @[@"John",@"Foo",@"Space",@"Star",@"Ray",@"Stin"];
だから答えは
NSArray *sorted = @[@"Foo",@"Space",@"Ray",@"Stin"];
どうすればこれを達成できますか?
ANSWER: dasblinkenlight の受け入れられた回答に基づいて、私は次のことを行いました。
NSMutableArray *objects = @[@"Star",@"Stin",@"Foo",@"Ray",@"Space",@"John"];
NSArray *sortOrder = @[@"John",@"Foo",@"Space",@"Star",@"Ray",@"Stin"];
[objects sortUsingComparator:^NSComparisonResult(id obj1, id obj2) {
int index1 = [sortOrder indexOfObject:obj1];
int index2 = [sortOrder indexOfObject:obj2];
if (index1 > index2)
return NSOrderedDescending;
if (index1 < index2)
return NSOrderedAscending;
return NSOrderedSame;
}];