ios objective-c nsdictionary

ios - nsdictionary to object swift



NSDictionary: necesita verificar si el diccionario contiene pares clave-valor o no (2)

Solo necesito preguntar algo como sigue. Supongamos que estoy teniendo un diccionario.

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, necesito verificar lo siguiente

[xyz contiene el valor "b" clave? par o no?

La pregunta es ¿Cómo?

La otra pregunta es ¿Cómo contar el par clave-valor total?

Digamos, por ejemplo, NSInteger mCount=[xyz keyCounts];


Con la sintaxis literal, puede verificar de la siguiente manera

static const NSString* kKeyToCheck = @"yourKey" if (xyz[kKeyToCheck]) NSLog(@"Key: %@, has Value: %@", kKeyToCheck, xyz[kKeyToCheck]); else NSLog(@"Key pair do not exits for key: %@", kKeyToCheck);


Solo pregúntale por el objectForKey:@"b" . Si devuelve nil , no se establece ningún objeto en esa clave.

if ([xyz objectForKey:@"b"]) { NSLog(@"There''s an object set for key @/"b/"!"); } else { NSLog(@"No object set for key @/"b/""); }

Editar : en cuanto a su segunda pregunta editada, es simplemente NSUInteger mCount = [xyz count]; . Ambas respuestas están bien documentadas y se encuentran fácilmente en la referencia de clase NSDictionary ( [1] [2] ).