複数桁の整数の配列を昇順にソートしたい。
ここに私の配列があります:
keyArray:
(
978,
1077,
1067,
1076,
1072,
1082,
1079,
1075,
1071,
1081,
1078,
1080,
1074
)
これが私のコードです:
NSSortDescriptor *sortOrder = [NSSortDescriptor sortDescriptorWithKey:@"self" ascending: YES];
NSArray *sortedArray2 = [keyArray sortedArrayUsingComparator:^(id str1, id str2) {
if ([str1 integerValue] < [str2 integerValue]) {
return (NSComparisonResult)NSOrderedDescending;
}
if ([str1 integerValue] > [str2 integerValue]) {
return (NSComparisonResult)NSOrderedAscending;
}
return (NSComparisonResult)NSOrderedSame;
}];
NSLog(@"%@",[keyArray sortedArrayUsingDescriptors: [NSArray arrayWithObject:sortOrder]]);
問題は、これが配列をこのようにソートすることです
sortedArray: (
1067,
1071,
1072,
1074,
1075,
1076,
1077,
1078,
1079,
1080,
1081,
1082,
978
)
最初に 4 桁の数字がソートされ、次に 3 桁の数字がソートされます。