NSMutable Dictionary добавляет объекты
Есть ли более эффективный способ добавления объектов в словарь NSMutable, чем простая итерация?
Пример:
// Create the dictionary
NSMutableDictionary *myMutableDictionary = [NSMutableDictionary dictionary];
// Add the entries
[myMutableDictionary setObject:@"Stack Overflow" forKey:@"http://stackoverflow.com"];
[myMutableDictionary setObject:@"SlashDotOrg" forKey:@"http://www.slashdot.org"];
[myMutableDictionary setObject:@"Oracle" forKey:@"http://www.oracle.com"];
Просто любопытно, я уверен, что так оно и должно быть.
Ответы
Ответ 1
Если у вас есть все объекты и ключи заранее, вы можете инициализировать его с помощью NSDictionary:
dictionaryWithObjects:forKeys:
Конечно, это даст вам неизменный словарь, не изменяемый. Это зависит от вашего использования, которое вам нужно, вы можете получить изменяемую копию из NSDictionary, но, похоже, проще использовать исходный код в этом случае:
NSDictionary * dic = [NSDictionary dictionaryWith....];
NSMutableDictionary * md = [dic mutableCopy];
... use md ...
[md release];
Ответ 2
NSDictionary *entry = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithDouble:acceleration.x], @"x",
[NSNumber numberWithDouble:acceleration.y], @"y",
[NSNumber numberWithDouble:acceleration.z], @"z",
[NSDate date], @"date",
nil];
Ответ 3
Позвольте мне добавить некоторую информацию людям, которые начинают.
Можно создать NSDictionary
с более дружественным синтаксисом с objective-c литералами:
NSDictionary *dict = @{
key1 : object1,
key2 : object2,
key3 : object3 };
Ответ 4
NSMutableDictionary *example = [[NSMutableDictionary alloc]initWithObjectsAndKeys:@5,@"burgers",@3, @"milkShakes",nil];
Объекты идут перед клавишами.