0

我将项目存储在一个大型 NSMutableArray 中。3 个字符串定义了此数组中的唯一项。我想要一个 NSMutableDictionary ,它将 3 个字符串键映射到数组中的一个条目。

在我的代码中,项目中的前 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];
}
4

1 回答 1

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];
}
于 2013-03-20T13:26:05.060 回答