0

配列をソートしようとしていますが、確実に機能しないようです。

並べ替えのコードは次のとおりです。基本的に、リクエストの優先度 ID には 1 ~ 5 の値があります。次に例を示します。 ここに画像の説明を入力

 sortedArray = [self.selectedReqArray sortedArrayUsingComparator:^NSComparisonResult(id a, id b) {
            NSLog(@"Value A: %@", [NSNumber numberWithInteger:[(Request*)a priorityID]]);
            NSLog(@"Value B %@", [NSNumber numberWithInteger:[(Request*)b priorityID]]);
            NSNumber *first = [NSNumber numberWithInt:[(Request*)a priorityID]];
            NSNumber *second = [NSNumber numberWithInt:[(Request*)b priorityID]];
            return [first compare:second];
        }];

        self.sortedReqArray = [NSMutableArray arrayWithArray:sortedArray];

1-5 で正しくソートされることもありますが、1 2 4 5 3... でソートされることもあります。

次に、NSLog を見てみると、1 ~ 5 のはずなのに、非常に大きな値が吐き出されています。

ここにサンプル出力があります Value B 168492640 Value A: 168492640 Value B 168492640 Value A: 174580912 Value B 168492640 Value A: 174580912 Value B 168492640 Value A: 174580912 Value B 168492640 Value A: 174580912 Value B 168492640 Value A: 174580912

何が起こっている?ありがとうございました!

4

1 に答える 1