列挙しているNSMutableIndexSetを列挙および変更することはできません。新しいNSMutableIndexSetを作成し、それにエントリを追加するだけです。パフォーマンスに影響があるかどうかは疑わしいです。
例(ARCを使用):
NSMutableIndexSet *originalIndexSet = [NSMutableIndexSet new];
[originalIndexSet addIndex:1];
[originalIndexSet addIndex:5];
NSMutableIndexSet *newIndexSet = [NSMutableIndexSet new];
[originalIndexSet enumerateIndexesUsingBlock:^(NSUInteger idx, BOOL *stop) {
[newIndexSet addIndex:idx+1];
}];
NSLog(@"originalIndexSet: %@", originalIndexSet);
NSLog(@"newIndexSet: %@", newIndexSet);
それで
originalIndexSet = newIndexSet;
NSLog出力:
originalIndexSet:[インデックスの数:2(2つの範囲内)、インデックス:(1 5)]
newIndexSet:[インデックスの数:2(2つの範囲内)、インデックス:(2 6)]