2012-11-15 6 views
5

Sono un nuovo sviluppatore Iphone ho bisogno del tuo aiuto,come creare chiave e valore dell'array in xcode?

Qualcuno mi fornisce la creazione di array con chiave e valore e come posso recuperare xcode.

+0

voi voglio solo la creazione di array. – NSCool

+0

Intendi coppie chiave-valore o hai bisogno di un array 2-D? –

risposta

11

Questo NSMutableDictionary. Puoi cercare codici di esempio. Per esempio: Create dict

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

Stampa di tutte le chiavi e valori di una Dict:

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

Potresti fornirmi un semplice esempio? – user1825965

+0

Aggiunto alla risposta. – Dave

+0

Vorrei sapere come posso recuperare per ciclo? – user1825965

2

Questo è esattamente ciò che un NSDictionary/NSMutableDictionary fa:

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

La differenza è che, in il mutabile, è possibile aggiungere/modificare le voci dopo averlo creato, ma non nell'altro.

4

È possibile utilizzare uno NSDictionary o NSmutabledictionary per ottenere ciò che non è necessario utilizzare e NSArray. Ecco un esempio di come funziona.

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"]; 

quindi è possibile recuperare un valore per una chiave semplicemente facendo.

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

questo darà il valore di Valore2 nella stringa valueStr.

per aggiungere oggetti a un dizionario nessuno Mutevole NSDictionary solo fare

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

poi basta recuperare allo stesso modo come un NSMutableDictionary. La differenza tra i due è che un dizionario Mutable può essere modificato dopo la creazione in modo da poter aggiungere oggetti ad esso con lo removeObjectFroKey: mentre il dizionario non modificabile non può essere modificato, quindi una volta creato lo si è bloccato fino è stato rilasciato, quindi non aggiungere o rimuovere oggetti.

Spero che questo aiuti.

+0

Come recuperare questo array per ciclo, mostrare chiave e valore per ciclo. modo di recupero NSString * valueStr = [dict objectForKey: @ "Key2"]; Ho bisogno di recuperare per ciclo tutte le chiavi e il valore, ho bisogno di cercare valore in array. – user1825965

+0

@ user1825965 Quindi cosa si può ottenere i valori e le chiavi in ​​un ciclo for? – Popeye

0

Se non è necessario aggiungere più oggetto, è possibile creare un dizionario non mutabile:

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

Se non hai bisogno di coppie chiave valore che di un array:

NSArray* array= @[ @"value1" , @"value2", @"value3" ]; 
Problemi correlati