NSMutable словарь добавление объектов
Существует ли более эффективный способ добавления объектов в словарь 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"];
Просто любопытно, я уверен, что именно так это и должно быть сделано.4 ответа:
Если у вас есть все объекты и ключи заранее, вы можете инициализировать его с помощью NSDictionary:
dictionaryWithObjects:forKeys:
Конечно, это даст вам неизменяемый словарь, а не изменяемый. Это зависит от вашего использования, какой из них вам нужен, вы можете получить изменяемую копию из NSDictionary, но кажется проще просто использовать исходный код в этом случае:
NSDictionary * dic = [NSDictionary dictionaryWith....]; NSMutableDictionary * md = [dic mutableCopy]; ... use md ... [md release];
NSDictionary *entry = [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithDouble:acceleration.x], @"x", [NSNumber numberWithDouble:acceleration.y], @"y", [NSNumber numberWithDouble:acceleration.z], @"z", [NSDate date], @"date", nil];
Позвольте мне добавить некоторую информацию к людям, которые начинают.
Можно создать
NSDictionary
с более дружественным синтаксисом с objective-C литералами :NSDictionary *dict = @{ key1 : object1, key2 : object2, key3 : object3 };