2013-03-20 72 views
0

我將項目存儲在一個大的NSMutableArray中。 3個字符串在此數組中定義一個唯一項目。我想有一個NSMutableDictionary將3字符串鍵映射到數組中的一個條目。iOS - 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]; 
} 

回答

0

直接從陣列創建字符串沒有必要使用長方法

- (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]; 
}