swift - 按类别/标签在表格视图中显示项目?

时间:2015-09-01 17:31:37

标签: ios arrays swift uitableview categories

我正在建立一个快速的应用程序,需要一些帮助解决两个问题。我对swift和编码一般都很新。我的应用程序将一堆项目保存到一个数组中,目前主屏幕上的tableview显示它们。但是我想更进一步,希望能够对这些项目进行分类。例如,购物清单。您可以保存"香蕉","面食","苹果","面包","草莓"和& #34;牛奶"作为项目进入数组。

  1. 我如何将标签与每个项目相关联?比方说,标记香蕉,苹果和草莓作为"水果"并将该项保存到数组中。
    1. 我怎么能只显示"水果"在tableview中标记?让我们说主屏幕是所有项目的列表,但是你选择了标签,然后它只显示带有"水果的项目"标签...等
    2. 这只是一个简单的例子来帮助说明我的观点,但我想知道如何使用这样的数据。

      如果有任何想法或任何资源指出我正确的方向,我真的很感激。

      谢谢!

1 个答案:

答案 0 :(得分:0)

  1. 要在Swift(以及几乎所有编程语言)中将某些内容与另一内容相关联,您应该使用Dictionaries。如何在您的情况下实施它?好吧,非常简单。首先,我建议您创建enum来存储食物类型或其他内容:

    enum FoodType {
        case Fruits, Vegetables
    }
    

    现在,创建您的食物存储库,存储食物(或value)并将其与某些标记(或key)相关联:

    var myFood = [FoodType : [String]]()  
    

    现在,您可以将食物添加到myFood变量中,如下所示:

    food[.Fruits] = ["Bananas", "Apples", "Strawberries"]
    food[.Vegetables] = ["Potato", "Carrot"]
    
  2. 要选择水果,请执行以下操作:

    var onlyFruits = food[.Fruits]
    

    现在,onlyFruits仅包含由.Fruits标记的食物。