2012-08-31 27 views
5

tôi đang cố gắng để có được một mảng bên trong một NSMutableDictionary trông như thế này:IOS Nhận một mảng bên NS (Mutable) từ điển

{ 
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 =  (
); 
} 

Và tôi đang sử dụng mã này:

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

Nhưng mảng "fotoarray" vẫn trống khi cố gắng lấy thông tin từ NSMutableArray.

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

Cách tạo một mảng với tất cả các đối tượng có tên khóa "nombre" là gì?

+1

1) Những gì bạn đã gửi không phải là một mảng có thể thay đổi, là một 'NSDictionary'. 2) 'OnlineObjects' là gì? – Alladinian

Trả lời

13

Những gì bạn đã đăng là mô tả của một NSDictionary (cho phép gọi nó là myDict từ bây giờ). Cách nhanh nhất để nhận được tất cả các giá trị từ nombrefotos mảng là thế này:

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

Cảm ơn! nó hoạt động như một charme !!! – Ben

+0

Bạn được chào đón. Hãy chấp nhận nó là chính xác sau đó. – Alladinian

+0

Tuyệt vời exampe. :) –

Các vấn đề liên quan