2012-11-15 11 views

Odpowiedz

11

To NSMutableDictionary. Możesz wyszukać przykładowe kody. Na przykład: Create dict

NSMutableDictionary *dictionary = [NSMutableDictionary dictionary]; 
[dictionary setObject:@"object1" forKey:@"key1"]; 

drukowania wszystkich kluczy i wartości dict:

for (NSString* key in [dictionary allKeys]) { 
    NSLog(@"key: %@, value: %@", key, [dictionary objectForKey:key]); 
} 
+0

Czy możesz podać mi prosty przykład? – user1825965

+0

Dodano do odpowiedzi. – Dave

+0

Chciałbym wiedzieć, w jaki sposób mogę pobrać przez pętlę? – user1825965

2

To jest dokładnie to, co NSDictionary/NSMutableDictionary robi:

NSMutableDictionary *myDictionary = [[ NSMutableDictionary alloc] init]; 
[ myDictionary setObject:@"John" forKey:@"name"]; 
[ myDictionary setObject:@"Developer" forKey:@"position"]; 
[ myDictionary setObject:@"1/1/1984" forKey:@"born"]; 

Różnica polega na tym, że w Zmienny, możesz dodawać/modyfikować wpisy po utworzeniu, ale nie w drugim.

4

Możesz użyć NSDictionary lub NSmutabledictionary, aby tego dokonać nie musisz używać i NSArray. Oto przykład, jak to działa.

NSMutableDictionary *dict = [[NSMutableDictionary alloc] init]; // Don't always need this 
    // Note you can't use setObject: forKey: if you are using NSDictionary 
    [dict setObject:@"Value1" forKey:@"Key1"]; 
    [dict setObject:@"Value2" forKey:@"Key2"]; 
    [dict setObject:@"Value3" forKey:@"Key3"]; 

następnie można odzyskać wartość klucza, po prostu robi.

NSString *valueStr = [dict objectForKey:@"Key2"]; 

spowoduje to podanie wartości Value2 w ciągu znaków valueStr.

aby dodawać obiekty na brak zmienny słowniku NSDictionary prostu zrobić

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

potem po prostu odzyskać ten sam sposób, jak NSMutableDictionary. Różnica między nimi polega na tym, że po utworzeniu można zmodyfikować słownik Mutable, dzięki czemu można dodawać do niego obiekty za pomocą setObject:forKey i usuwać obiekty za pomocą removeObjectFroKey:, podczas gdy nie można modyfikować słownika, który nie może być modyfikowany, a więc po utworzeniu nie będzie można go zmodyfikować, dopóki nie zostanie został zwolniony, więc nie można dodawać ani usuwać obiektów.

Mam nadzieję, że to pomoże.

+0

Jak pobrać tę tablicę za pomocą pętli, pokaż klucz i wartość przez pętlę. sposób pobierania NSString * valueStr = [dict objectForKey: @ "Key2"]; Potrzebuję pobrać przez pętlę wszystkie klucze i wartości, muszę wyszukać wartość w tablicy. – user1825965

+0

@ user1825965 Więc co możesz uzyskać wartości i klucze w pętli for? – Popeye

0

Jeśli nie trzeba już dodawać obiekty, można utworzyć non zmienny słownika:

NSDictionary* dict= @{ @"key1" : @"value1" , @"key2" : @"value2" }; 

Jeśli nie potrzebujesz pary wartość klucza, który jest tablicą:

NSArray* array= @[ @"value1" , @"value2", @"value3" ]; 
Powiązane problemy