内部に NSInteger 値を持つ NSMutableArray をソートしたい。私はこのソリューションを使用しようとしました:
NSArray *sorted = [array sortedArrayUsingSelector:@selector(compare:)];
それはほとんどうまくいったので、なぜすべてがうまくいかないのか尋ねたい. データの例を次に示します。
not sorted = (
30,
42,
54,
6,
18
)
sorted = (
18,
30,
42,
54,
6
)
配列の最後にある 6 つの値を除くすべてがソートされていることがわかります。
なぜこれが起こったのですか?
ありがとうございました。
完全な方法:
- (void) initialize{
NSInteger min = 30;
NSInteger interval = 12;
NSInteger count = floor(60/interval);
for (int i = 0; i < count; i++) {
[array addObject:[NSString stringWithFormat:@"%i",min]];
min +=interval;
if (min > 60)
min -= 60;
}
//DLog(@"not sorted = %@",minutes);
array = [[array sortedArrayUsingSelector:@selector(compare:)] mutableCopy];
//DLog(@"sorted = %@",minutes);
}