免責事項: 私は iOS 開発に比較的慣れていません。このプロジェクトには ARC を使用しています。
これらの操作のどれがより高速で、その理由を知りたいですか?
if([selectedIndexes containsObject:indexPath]) {
[selectedIndexes removeAllObjects];
for(int i=0; i<self.options.count; i++) {
[selectedIndexes addObject:[NSIndexPath indexPathForItem:i inSection:0]];
}
}
また
NSIndexPath *indexPath;
if([selectedIndexes containsObject:indexPath]) {
for(int i=0; i<self.options.count; i++) {
indexPath = [NSIndexPath indexPathForItem:i inSection:0];
if(![selectedIndexes containsObject:indexPath])
[selectedIndexes addObject:indexPath];
}
}
編集1
問題は、removeAllObjecs を実行してから元に戻す方が速く動作するか、それともアイテムがまだ存在しないかどうかを確認してセットに追加する必要があるかどうかです。