En un diccionario que tengo Key & valores como el de abajo. ¿Cómo puedo obtener el «título» los valores de la siguiente y guárdelo en un NSArray *datos?

{
    changed = 1414164684;
    city = Stockholm;
    class = "3. Mycket god klass";
    coordinates = "POINT(59.3246206 18.0686084)";
    id = 37510;
    title = "19 Glas Bar & Matsal";
    total = 70;`enter code here`
},
{
    changed = 1413991969;
    city = "G\U00f6teborg";
    class = "2. M\U00e4starklass";
    coordinates = "POINT(57.697944330446234 11.974067687988281)";
    id = 34865;
    title = "28+";
    total = 77;
},
  • Usted tiene una variedad de diccionarios, y desea extraer el título de los valores de todos los diccionarios y almacenarlos en una matriz?
  • En mi punto de vista vamos a ellos, como lo es que usted va a necesitar todos los demás información relacionada con la misma para furthur uso

7 Comentarios

  1. 4

    El mencionado fragmento es una matriz, permite que el nombre «result_Array». En «result_Array» que están mostrando dos objetos. Y cada uno de los objetos es más que un diccionario. Y de cada Diccionario que queremos obtener el título y guardar en su conjunto denominado «datos». Aquí vamos

    NSMutableArray *data=[NSMutableArray new];
    
    for(int i=0; i<result_Array.count ; i++)
    {
        NSDictionary *dict = [result_Array objectAtIndex:i];
        [data addObject:[dict objectForKey:@"title"]];
    }

    Espero que ayude. No dude en hacer cualquier consulta

    • Thank u! Realmente aprecio ur ayuda!
    • Gracias esteban, Si mi respuesta sugerida funciona, No te olvides de marcar esto como respuesta 😉 mantener la codificación
    • ¿qué es result_Array ?
    • La Pregunta fragmento de código tiene la Matriz. Me refiero a que la matriz como result_Array
  2. 2

    Si usted tiene una matriz de NSDictionary, entonces usted puede obtener todos los valores de una clave utilizando el método «valueForKey» sin ningún tipo de iteración:

    NSArray *list = @[
    
    @{@"changed":@"1414164684",
    @"title":@"19 Glas Bar & Matsal"},
    
    @{@"changed":@"1413991969",
    @"title":@"28+"}];
    
    NSArray *titles = [list valueForKey:"title"];

    De la matriz de los títulos que se obtienen sólo los títulos de la lista.

  3. 1

    El código de ejemplo proporcionado es en realidad un conjunto de Diccionarios. Para responder a su pregunta con ese pequeño cambio

    NSArray *originalDict;
    NSMutableArray *data = [NSMutableArray new];
    for (NSUInteger i = 0; i < originalDict.count; i++) {
        NSDictionary *currentDictionaryPointer = [originalDict objectAtIndex:i];
        NSString *title = [currentDictionaryPointer objectForKey:@"title"];
        [data addObject:title];
     }

    Donde originalDict es el objeto que señala tu código de ejemplo.

  4. 0

    Por favor, siga los siguientes pasos para su respuesta

     1.First of all You should Create NSMutableArray
     2.After copy the dictionary to NSMutableArray
        NSMutableArray *array = [yourDictionary copy];
     3.After that set or create the for loop.
     4.Create NSString *strTitle in for loop.
     5.Finally strTitle = [NSString stringWithFormat:@"%@",[[array objectAtIndex:i]valueForKey:@"title"]]];
  5. 0

    Sencillos pasos

     NSMutableArray *array = [yourDict copy];[If it is your dict is NSMutableDictionary]
         or
     NSMutableArray *array = [yourDict mutableCopy]; [If it is your dict is NSDictionary];
    
     for(int i=0;i<[array count];i++)
     {
    
       NSString *strTitle = [NSString stringWithFormat:@"%@",[[array objectAtIndex:i]valueForKey:@"title"]];
       NSLog(@"the title is==%@",strTitle);
    
     }
  6. 0

    Si usted está recibiendo «un conjunto de cosas», yo no la guarde en un Diccionario se podría almacenar en un NSArray y luego iterar sobre él como:

    var myObjects:[Object]
    
    var myCollection = yourJSON as NSArray (assuming that you always get the same.
    
    func myStuff (myCollection) {
        for item in myCollection {
        change = myCollection["changed"] as NSString (assuming a String here)
        city = myCollection["city"] as NSString
        ...
        ...
    
    var Foo:Object = Object()
    Foo.change = change
    Foo.city = city
    ...
    ...
    
    
    myObjects.append(Foo)
    }

    más tarde, ahora puedes recorrer el myObjects Matriz para presentar cosas en un formato tableview

  7. 0

    Thw siguiente ejemplo se va a hacer lo mismo con la menor cantidad de código.

    NSMutableArray *arr = [NSMutableArray new];
    
    for (NSDictionary* dict in myArray)
    {
        [arr addObject:[dict valueForKey:@"title"]];
    }

    La arr objeto tendrá todos los valores de la clave ‘título’.

    • El método addObject sólo funciona en un NSMutableArray. Esto no funciona en su ejemplo, porque se está utilizando el inmutable NSArray
    • Sí he corregido que tan pronto como he publicado la respuesta

Dejar respuesta

Please enter your comment!
Please enter your name here