// 1 - Find the matching item index
NSIndexSet* indexes = [[self.orderItems allKeys] indexesOfObjectsPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) {
IODItem* key = obj;
return [searchItem.name isEqualToString:key.name] &&
searchItem.price == key.price;
}];
// 2 - Return first matching item
if ([indexes count] >= 1) {
IODItem* key = [[self.orderItems allKeys] objectAtIndex:[indexes firstIndex]];
return key;
}
在这段代码中,我正在检查字典中的所有键并将其与搜索项进行比较。
这本词典什么时候有多个具有相同搜索项的键?
我对键的了解是它们是唯一的,但是此代码为与特定搜索项匹配的所有键的出现维护一个索引集。