無法枚舉和修改你列舉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)]
試着解釋更多地瞭解你所要完成你的出發點是什麼。但基本上,不,你不能枚舉和修改你正在枚舉的'NSMutableIndexSet'。 – zaph