在表格视图中获取“值”的最佳方法

时间:2013-06-03 15:44:01

标签: objective-c arrays uitableview

有一个应用程序,你有一长串的国家/地区。您可以点击某个国家/地区,然后进入下一个显示首都的视图!

存储国家和首都的最佳方式是什么?

是NSarray吗?像这样

       array = @[
           @{@"Country" : @"Afghanistan", @"Capital" : @"Kabul", @"Flagfile" : @"Afghanistan.png"},
          @{@"Country" : @"Albania", @"Capital" : @"Tirana", @"Flagfile" : @"Albania.png"},
          @{@"Country" : @"Algeria", @"Capital" : @"Algiers", @"Flagfile" : @"Algeria.png"},
          @{@"Country" : @"Andorra", @"Capital" : @"Andorra la Vella", @"Flagfile" :    @"Andorra.png"}];

如果是这样,我如何才能获得tableview单元格,以及如何更改此代码以便从上面的数组中获取国家/地区标题?

 totalStrings=[[NSMutableArray alloc]initWithObjects:@"Afghanistan", @"Albania",@"Algeria", @"Andorra",nil];

..等等!

2 个答案:

答案 0 :(得分:2)

你可以这样做:

NSArray *countries = [array valueForKey:@"Country"];

但坦率地说,我只是使用原始数组并cellForRowAtIndexPath通过array[indexPath.row][@"Country"]抓住该国家/地区。创建这个额外的数组是没有意义的。但如果你真的想要它,你就是这样做的。

答案 1 :(得分:1)

  

array = @ [              @ {@“Country”:@“Afghanistan”,@“Capital”:@“Kabul”,@“Flagfile”:@“Afghanistan.png”},             @ {@“Country”:@“Albania”,@“Capital”:@“Tirana”,@“Flagfile”:@“Albania.png”},             @ {@“Country”:@“Algeria”,@“Capital”:@“Algiers”,@“Flagfile”:@“Algeria.png”},             @ {@“Country”:@“Andorra”,@“Capital”:@“Andorra la Vella”,@“Flagfile”:@“Andorra.png”}];

这是4个词典的数组。

每个键都有:

Country

Capital

Flagfile

要仅提取一个键的值,您可以使用:

NSArray *totalStrings=[array valueForKey:@"Country"];