我需要遍歷字典的所有鍵/值對,並對兩個字段執行某些操作。我想知道什麼是更有效率,傳統的'foreach關鍵'方法或塊方法使用enumerateKeysAndObjectsUsingBlock :.遍歷鍵/值的NSDictionary,是enumerateKeysAndObjectsUsingBlock比循環鍵和調用objectForkey更高效:?
這裏有一個例子:
傳統的方法(塊)之前
for (NSString* key in [self.dictionary allKeys]) {
[self processKey:key value: [self.dictionary objectForKey:value ]];
}
塊的方法。
[self.dictionary enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop){
[self processKey:key value:obj];
}];
我的直覺是,遍歷使用塊的鍵/值對速度更快,但我不知道,因爲我不知道怎樣詞典和特定塊的方法來實現。
有什麼想法?
在此先感謝!
你的意思是objectForKey:key而不是objectForKey:value? – ohthepain