我将项目存储在一个大的NSMutableArray中。 3个字符串定义此数组中的唯一项。我想要一个NSMutableDictionary,它将3个字符串键映射到数组中的一个条目。
在我的代码中,item中的前3个对象是定义唯一项的3个字符串。如何最有效地创建用于执行查找的密钥?我猜stringWithFormat并不是最好的主意。我正在尝试加速发生的大量查找。
- (void)addItem:(NSArray*)item {
// create entry from item
[mEntries addObject:entry];
NSString *key = [NSString stringWithFormat:@"%@%@%@", [item objectAtIndex:0],
[item objectAtIndex:1],[item objectAtIndex:2]];
[mEntryMap setObject:entry forKey:key];
}
- (Entry*)getItem:(NSArray*)strs {
NSString *key = [NSString stringWithFormat:@"%@%@%@", [strs objectAtIndex:0],
[strs objectAtIndex:1],[strs objectAtIndex:2]];
return [mEntryMap objectForKey:key];
}
答案 0 :(得分:0)
直接从数组创建字符串,无需使用long方法
- (void)addItem:(NSArray*)item {
// create entry from item
[mEntries addObject:entry];
NSString *key=[item componentsJoinedByString:@""];
[mEntryMap setObject:entry forKey:key];
}
- (Entry*)getItem:(NSArray*)strs {
NSString *key=[strs componentsJoinedByString:@""];
return [mEntryMap objectForKey:key];
}