/ / Cómo obtener valores de NSDictionaries dentro de un NSArray: object-c, ios, nsarray, nsdictionary

Cómo obtener valores de NSDictionaries dentro de un NSArray - objectivo-c, ios, nsarray, nsdictionary

Me gustaría saber si es posible obtener valores de una clave deseada dentro de un NSDictionary eso está en NSArray.

Ejemplo:

NSArray *array = @[ @{@"title" : @"title 1", @"description" : @"description 1"},
@{@"title" : @"title 2", @"description" : @"description 2"},
@{@"title" : @"title 3", @"description" : @"description 3"} ];

Me gustaría obtener (sin crear un nuevo NSMutableArray) todos los títulos dentro de mi NSArray. Tal vez estoy haciendo algo mal y mi enfoque es totalmente malo.

Sé que podría crear una nueva clase y tener 2 propiedades (título, desc), pero hay una manera sin crear una clase o hacer una nueva NSMutableArray e iterando a fondo mi matriz?

Respuestas

28 para la respuesta № 1

Fácil:

NSArray *titles = [array valueForKey:@"title"];

Esto funciona porque NSArray"s implementación de valueForKey: devuelve una nueva matriz que contiene los resultados de valueForKey: para cada uno de los objetos de la matriz.