Estoy tratando de publicar un valor en un campo en mi base de datos llamado 'field_from_first', con el siguiente código:

.m

NSDictionary *reviewer = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:reviewerFirstName, nil] forKeys:[NSArray arrayWithObjects:@"value", nil]];
NSDictionary *firstNameFinal = [NSDictionary dictionaryWithObject:[NSArray arrayWithObject:reviewer] forKey:@"und"];


[nodeData setObject:firstNameFinal forKey:@"field_from_first"];

Sin embargo, el campo permanece en blanco. La consola devuelve la estructura así:

"field_from_first" =     {
    und =         (
                    {
            value =                 {
                und =                     (
                                            {
                        format = "<null>";
                        "safe_value" = Brittany;
                        value = Brittany;
                    }
                );
            };
        }
    );
};

¿Parece que mi valor está envuelto en und dos veces? ¿Cómo puedo editar mi código para asegurarme de que se publique en esa estructura? Por el momento, creo que lo tengo publicando en: campo> und> valor

1
Brittany 15 dic. 2016 a las 05:48

2 respuestas

La mejor respuesta

Lo resolví, terminó siendo bastante simple. Simplemente necesitaba usar el siguiente código:

.m

NSDictionary *text = data[@"first_name"];
[nodeData setObject:text forKey:@"field_from_first"];

Todo el resto de galimatías tratando de publicar en "und" y "safevalue" resultó innecesario.

1
Brittany 22 dic. 2016 a las 22:17

Si quieres lo siguiente,

"field_from_first" = {
    und = (
        {
            format = "<null>";
            "safe_value" = Brittany;
            value = Brittany;
        };
    );
};

Tu código debe verse así

NSString *reviewer = @"";
NSDictionary *value1 = @{@"format" : @"<null>",@"safe_value":reviewer,@"value":reviewer};
NSArray *undArray = @[value1];
NSDictionary *firstNameFinal = @{@"und" : undArray};

[nodeData setObject:firstNameFinal forKey:@"field_from_first"];

Espero que eso sea lo que estaba preguntando, realmente no podría decirlo en su pregunta.

0
Elijah Cobb 15 dic. 2016 a las 03:13