2010-04-23 32 views
5

O có NSDictionary. Bên trong từ điển có một mảng. Tôi muốn sắp xếp từ điển và hiển thị giá trị của nó theo thứ tự tăng dần vì vậy hãy giúp bất kỳ ai giúp tôi làm cách nào để có được dữ liệu được sắp xếp?Làm cách nào để sắp xếp một NSDictionary?

Trả lời

4

Có ba chức năng của NSDictionary ...

– keysSortedByValueUsingSelector: 
– keysSortedByValueUsingComparator: 
– keysSortedByValueWithOptions:usingComparator: 
+0

nếu bạn không nhớ bạn hãy cho tôi với ví dụ tôi muốn sắp xếp theo "rname" Xin vui lòng giúp tôi .. NSDictionary * dict = (NSDictionary *) [DataBaseAccess getRestaurantDetails]; \t \t NSLog (@ "% @", dict); 2010/04/23 11: 45: 07,089 Restaurant [2074: 207] ( { raddress = "Cascal, Mountain View, CA"; rdistance = "7,96 dặm"; rlatitude = "37,391167"; rlongitude = "-122,080974"; rname = Cascal; rphno = 6509409500; } ) –

+1

Đây chỉ là một giá trị của từ điển tôi muốn sắp xếp theo tên tất cả các giá trị và tôi có để hiển thị vậy làm thế nào tôi có thể sử dụng chức năng này. –

+0

bạn có nghĩa là bạn có nhiều hơn một bộ từ điển và bạn không muốn sắp xếp nó ...? Bạn có muốn sắp xếp từ điển hoặc dữ liệu bên trong từ điển ...? –

0

Sử dụng NSSortDescriptor như thế này ..

NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES]; 
[stories sortUsingDescriptors:[NSArray arrayWithObjects:descriptor,nil]]; 
recent = [stories copy]; 

Stories là mảng bạn muốn sắp xếp .recent là một mảng có thể thay đổi mà đã được sắp xếp từ điển values.change "tên" với giá trị khóa mà bạn phải sắp xếp.

All the best

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