2012-01-11 10 views
13

Voglio ottenere conteggio NSMutableDictionary in iphone. Voglio sapere quanti oggetti ci sono in NSMutableDictionry. Ho provato questi codici per scoprire la soluzione ma, non mi ha aiutato molto.Come ottenere il conteggio NSMutableDictionary in iphone?

NSLog(@"Count : %d", [mutableDictionary count]); 

È sempre restituisce '0'. Come ottenere il conteggio di NSMutableDictionary in iPhone? Grazie in anticipo.

risposta

30

Per sapere quanti chiave-oggetto (valore-chiave) coppie ci sono in questo modo:

NSArray * allKeys = [mutableDictionary allKeys]; 
NSLog(@"Count : %d", [allKeys count]); 

EDIT

Upon guardando attraverso la documentazione dizionario, NSDictionary 's metodo count (o proprietà) dovrebbe funzionare pure. Penso che potresti aver ricevuto il conteggio 0 perché il dizionario era vuoto o nullo. Ho offerto la mia soluzione perché tendo a preoccuparmi di più sull'enumerazione delle chiavi che sul conteggio diretto delle voci.

Si prega di considerare il fatto che è stato risolto il problema da qualche altra parte.
• In realtà popolare il dizionario
o
• Con la fissazione di un bug in cui mutableDictionary era in qualche modo nullo

ho eseguito questo codice di prova e ottenere l'output commentato

NSMutableDictionary * countDict = [NSMutableDictionary dictionaryWithObject:@"test" forKey:@"test"]; 
    [countDict setObject:@"foo" forKey:@"bar"]; 
    NSLog(@"test count %d", countDict.count); //test count 2 
    countDict = nil; 
    NSLog(@"test count %d", countDict.count); //test count 0 
10

[[dictionary allKeys] count]; farà il trucco.

2
 NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"Rakesh",@"Name",@"[email protected]",@"Email",nil]; 
    NSLog(@"Count : %d", [dict count]) 

Prova questo

+0

restituirà Conteggio: 2 –

+1

@RakeshBhatt +1 da me. Ho modificato la mia risposta dopo alcune ricerche sul metodo di conteggio. Credo che l'OP avesse qualche altro problema da allora risolto. –

0

se si cerca di contare i valori NSMutableDictionary per qualsiasi elemento array è possibile utilizzare.

NSLog(@"myDictionaryCount %lu", (unsigned long)[myDictionary[@"items"] count]); 
Problemi correlati