【问题标题】:Best way to get "values" in table view [closed]在表格视图中获取“值”的最佳方法 [关闭]
【发布时间】:2013-06-03 15:44:01
【问题描述】:

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

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

是 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"}];

如果是这样,我如何仅将国家/地区设置为表格视图单元格,以及如何更改此代码以便从上面的数组中获取国家/地区标题?

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

..等等!

【问题讨论】:

  • 我不明白你的意思是“我如何只让国家成为表格视图单元格”。一个国家怎么可能是一个表格视图单元格?它们是你的字典。
  • 在来论坛问很多问题请人帮助你之前,自己努力一下,上个教程

标签: objective-c arrays uitableview


【解决方案1】:

你可以这样做:

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

但坦率地说,我只是使用原始数组并让cellForRowAtIndexPath 通过array[indexPath.row][@"Country"] 抢占国家/地区。创建这个额外的数组没有意义。但是,如果您真的想要它,那就是您的方式。

【讨论】:

    【解决方案2】:

    数组 = @[ @{@“国家”:@“阿富汗”,@“首都”:@“喀布尔”,@“标志文件”:@“阿富汗.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"];
    

    【讨论】:

    • OP 说国家的“长名单”。 NSDictionary 对象是实现此目的的最佳方式吗,Anoop?
    • @MichaelDautermann:我不知道多久,他可以使用coredata来处理比较长的列表。
    猜你喜欢
    • 1970-01-01
    • 2013-08-27
    • 2016-10-25
    • 1970-01-01
    • 2010-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多