Solo necesito preguntar algo de la siguiente manera. Supongamos que tengo un diccionario.NSDictionary - Necesito comprobar si el diccionario contiene pares clave-valor o no
NSMutableDictionary *xyz=[[NSMutableDictionary alloc] init];
[xyz setValue:@"sagar" forKey:@"s"];
[xyz setValue:@"amit" forKey:@"a"];
[xyz setValue:@"nirav" forKey:@"n"];
[xyz setValue:@"abhishek" forKey:@"a"];
[xyz setValue:@"xrox" forKey:@"x"];
Ahora, tengo que comprobar de la siguiente manera
[xyz no contiene la clave de valor "b" ?? par o no?
Pregunta es ¿Cómo?
La otra pregunta es ¿Cómo contar el par clave-valor total?
decir, por ejemplo NSInteger mCount=[xyz keyCounts];
+1 De hecho, la documentación directamente hacia arriba dice esto: http://developer.apple.com/mac/library/documentation/Cocoa/Reference/ Foundation/Classes/NSDictionary_Class/Reference/Reference.html # // apple_ref/doc/uid/20000140-CBHCDIDJ –
¿Qué sucede si la clave está presente en el diccionario y su valor es 0? ¿No pensaríamos erróneamente que la clave no está presente en el diccionario? – jbx72487
@ jbx72487 Los diccionarios deben contener objetos; 'objectForKey:' devuelve un 'id' - un puntero a un objeto Objective-C. Si está almacenando números, deben estar ["en recuadro"] (http://clang.llvm.org/docs/ObjectiveCLiterals.html) en un [NSNumber] (https://developer.apple.com/library/ios /#documentation/Cocoa/Reference/Foundation/Classes/NSNumber_Class/Reference/Reference.html). Incluso si NSNumber es cero o falso, seguirá siendo un puntero válido y el código anterior detectará con precisión la existencia. –