Как добавить в NSDictionary


я использовал NSMutableArray и понял, что использование словаря намного проще для того, что я пытаюсь достичь.

Я хочу сохранить ключ как NSString и значение как int в словарь. Как это делается? Во-вторых, в чем разница между изменяемым и нормальным словарем?

5 79

5 ответов:

A mutable словарь может быть изменен, т. е. вы можете добавлять и удалять объекты. Ан неизменяемые фиксируется после его создания.

создать и добавить:

NSMutableDictionary *dict = [[NSMutableDictionary alloc]initWithCapacity:10];
[dict setObject:[NSNumber numberWithInt:42] forKey:@"A cool number"];

и извлечения:

int myNumber = [[dict objectForKey:@"A cool number"] intValue];

установив вы бы использовали setValue:(id)value forKey:(id)key метод

когда массив объявлен, то только мы должны добавить ключ-значение в NSDictionary как

NSDictionary *normalDict = [[NSDictionary alloc]initWithObjectsAndKeys:@"Value1",@"Key1",@"Value2",@"Key2",@"Value3",@"Key3",nil];

мы не можем добавить или удалить Ключевые значения в этом NSDictionary

где как в NSMutableDictionary мы можем добавить объекты после инициализации массива также с помощью этого метода

NSMutableDictionary *mutableDict = [[NSMutableDictionary alloc]init];'
[mutableDict setObject:@"Value1" forKey:@"Key1"];
[mutableDict setObject:@"Value2" forKey:@"Key2"];
[mutableDict setObject:@"Value3" forKey:@"Key3"];

для удаления значения ключа мы должны использовать следующий код

[mutableDict removeObject:@"Value1" forKey:@"Key1"];

обновление версии

С

создать:

NSDictionary *dictionary = @{@"myKey1": @7, @"myKey2": @5}; 

изменения:

NSMutableDictionary *mutableDictionary = [dictionary mutableCopy];     //Make the dictionary mutable to change/add
mutableDictionary[@"myKey3"] = @3;

синтаксис короткой руки называется Objective-C Literals.

Свифт

создать:

var dictionary = ["myKey1": 7, "myKey2": 5]

изменения:

dictionary["myKey3"] = 3

вы хотите спросить "в чем разница между изменяемым и не изменяемым массив или словарь."Много раз там разные термины используются для описания вещей, о которых вы уже знаете. В этом случае можно заменить термин "изменяемый" на "динамический"."Таким образом, изменяемый словарь или массив-это тот, который является" динамическим "и может изменяться во время выполнения, тогда как неизменяемый словарь или массив-это тот, который является "статическим" и определен в вашем коде и не изменяется во время выполнения (другими словами, вы не будет добавлять, удалять или, возможно, сортировать элементы.)

Что касается того, как это делается, вы просите нас повторить документацию здесь. Все, что вам нужно сделать, это поиск в образце кода и документации Xcode, чтобы увидеть, как именно это делается. Но изменчивая вещь бросила меня тоже, когда я только учился,так что я дам вам это!