swift - 按类别/标签显示 table 视图中的项目?

swift - display items in table view by category / tag?

我正在构建一个 swift 应用程序,需要一些帮助来解决两个问题。我对 swift 和一般编码还很陌生。我的应用程序将一堆项目保存到一个数组中,目前主屏幕上的表格视图显示它们。但我想更进一步,希望能够对项目进行分类。例如,购物清单。您可以将 "bananas"、"pasta"、"apples"、"bread"、"strawberries" 和 "Milk" 作为项保存到数组中。

  1. 如何将标签关联到每个项目?比如,将香蕉、苹果和草莓标记为 "fruit" 并将该项目保存到数组中。

  1. 如何在表格视图中只显示带有 "fruit" 标签的项目?假设主屏幕是所有项目的列表,但是您 select 标签,然后它只显示带有 "fruit" 标签的项目...等等

这只是一个简单的例子来帮助说明我的观点,但我想知道如何像这样处理我的数据。

如果有人有任何想法或任何资源可以为我指明正确的方向,我将不胜感激。

谢谢!

  1. 要在 Swift(以及几乎所有编程语言)中将一些东西与另一个联系起来,你应该使用 Dictionaries. How to implement it in your case? Well, very simple. First, i suggest you to create enum 来存储你的食物类型或其他东西:

    enum FoodType {
        case Fruits, Vegetables
    }
    

    现在,创建您的食物存储库,您可以在其中存储食物(或 value)并将其与某个标签(或 key)相关联:

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

    现在您可以像这样将食物添加到 myFood 变量中:

    food[.Fruits] = ["Bananas", "Apples", "Strawberries"]
    food[.Vegetables] = ["Potato", "Carrot"]
    
  2. 对select水果这样做:

    var onlyFruits = food[.Fruits]
    

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