私は一連のインデックス setOFIndex = {0,1,3,4} を持っています。このインデックスのセットを NSMutableArray から削除したいですか?
それを行う効率的な方法は何ですか?
ライブラリメソッドをチェックしましたが、見つかりませんでした。削除するたびに配列が1つずつシフトされるため、removeObjectAtIndexを直接使用することはできません。
私は一連のインデックス setOFIndex = {0,1,3,4} を持っています。このインデックスのセットを NSMutableArray から削除したいですか?
それを行う効率的な方法は何ですか?
ライブラリメソッドをチェックしましたが、見つかりませんでした。削除するたびに配列が1つずつシフトされるため、removeObjectAtIndexを直接使用することはできません。
NSMutableArray *array = [NSMutableArray arrayWithObjects: @"one", @"a", @"two", @"b", @"three", @"four", nil];
NSMutableIndexSet *indexes = [NSMutableIndexSet indexSetWithIndex:1];
[indexes addIndex:3];
[array removeObjectsAtIndexes:indexes];
NSLog(@"array: %@", array);
// Output: array: (one, two, three, four)
NSMUTABleArray のメソッドを使用する必要があります。removeObjectsAtIndexes:
これはドキュメントのコードです。
NSMutableArray *array = [NSMutableArray arrayWithObjects: @"one", @"a", @"two", @"b", @"three", @"four", nil];
NSMutableIndexSet *indexes = [NSMutableIndexSet indexSetWithIndex:1];
[indexes addIndex:3];
[array removeObjectsAtIndexes:indexes];
NSLog(@"array: %@", array);
なぜ人々がドキュメントを読まないのか、私にはまったく理解できません。
使ってみませんか
– removeObjectsInArray:
インデックスセットを配列に変換してから、上記の方法を使用します。
編集:ドキュメントからの非常に簡単な例。
NSMutableArray *array = [NSMutableArray arrayWithObjects: @"one", @"a", @"two", @"b", @"three", @"four", nil];
NSMutableIndexSet *indexes = [NSMutableIndexSet indexSetWithIndex:1];
[indexes addIndex:3];
[array removeObjectsAtIndexes:indexes];
NSLog(@"array: %@", array);