聲明:我對iOS開發比較陌生。我爲這個項目使用ARC。NSMutable對象:removeAllObjects與containsObject速度
我想知道哪些操作更快,爲什麼?
if([selectedIndexes containsObject:indexPath]) {
[selectedIndexes removeAllObjects];
for(int i=0; i<self.options.count; i++) {
[selectedIndexes addObject:[NSIndexPath indexPathForItem:i inSection:0]];
}
}
OR
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,然後加回來的東西會工作得更快或者必須檢查的項目是已經不在那裏,把它添加到集合?
你不能只使用[NSMutableIndexSet](https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSMuta bleIndexSet_Class /參考/的reference.html)? – 2013-04-21 13:51:15
這真的是你的應用程序的時間關鍵部分?如果沒有,我會把它留給編譯器來產生一個合理的代碼。 – 2013-04-21 13:52:53
你想做什麼?你能解釋一下你的代碼中self.options的作用嗎? – Anupdas 2013-04-21 14:02:34