IOS在NS(Mutable)Dictionary中获取一个数组

时间:2012-08-31 18:48:06

标签: ios

我正在尝试在NSMutableDictionary中获取一个如下所示的数组:

{
coments =     (
);
"foto_user" = "<null>";
fotos =     (
            {
        fecha = "2012-08-31 19:44:31";
        id = 4926;
        nombre = "image5773.jpg";
        posicion = 0;
        ruta = "img/";
        tipo = 1;
    },
            {
        fecha = "2012-08-31 19:44:31";
        id = 4927;
        nombre = "image1779.jpg";
        posicion = 0;
        ruta = "img/";
        tipo = 1;
    },
            {
        fecha = "2012-08-31 19:44:31";
        id = 4928;
        nombre = "image5938.jpg";
        posicion = 0;
        ruta = "img/";
        tipo = 1;
    },
            {
        fecha = "2012-08-31 19:44:32";
        id = 4929;
        nombre = "image4424.jpg";
        posicion = 0;
        ruta = "img/";
        tipo = 1;
    }
);
"have_coments" = 0;
id = 40505;
"id_lugar" = "<null>";
"id_pais" = 28;
"id_user" = "<null>";
iso = fr;
link = "<null>";
lugar = Paris;
"nombre_pais" = "France";
root = "http://www.domain.com/";
tags =     (
);
titulo = "Sunset";
"url_share" = "http://www.friktrip.com/experiencia/40505";
videos =     (
);
}

我正在使用此代码:

             //Get data from dictionary
             NSMutableArray *foto = [[NSMutableArray alloc]init];
             foto = [OnlineObjects objectAtIndex:1];

但是“fotoarray”数组保持空,试图从NSMutableArray获取信息。

             //Get only the nombre Key of the NSMutableArray
             NSArray *fotoarray = [foto valueForKey:@"nombre"];

使用键名为“nombre”的所有对象创建数组的方法是什么?

1 个答案:

答案 0 :(得分:13)

您发布的内容是NSDictionary的说明(从现在起,我们称之为myDict)。从nombre数组中获取所有fotos值的最快方法是:

NSArray *nombres = [myDict valueForKeyPath:@"fotos.nombre"];