2016-07-06 64 views
1

快速问题。比方说,我想创建一个数据模型为以下内容:如何从嵌套字典访问值:Swift

一个列表,我去的杂货店,然后存储一个日期,每次我去任何给定的杂货店,并在每个日期输入它存储我购买的项目。

例如:

   Costco -> June 1, 2016 -> Water 
            -> Beer 

        -> June 8, 2016 -> Hot dogs 
            -> Chips 

      Target -> June 1, 2016 -> Dish Soap 
            -> Shampoo 

        -> June 8, 2016 -> Bananas 
            -> Bagels 

如何最好将我安排到一个数据模型呢?

是否可以先从以下?:

var dataModel = [String: [String: [String]]]() 

使用的字典里面这本字典,我无法弄清楚如何在任何给定的“杂货店 - >日期”访问阵列配置文件。

声明:我对Swift很陌生,所以原谅无知。我已阅读过苹果有关字典的文档,但没有帮助。

+0

请注意,因为嵌套字典只在内存中而不在磁盘上,所以“数据模型”不会持续b/n应用程序启动。 – ghostatron

回答

2

是的,有一本字典字典是绝对有可能的(尽管此时你可能想考虑使用类或结构代替)。

你可以使用初始化:var dataModel = [String: [String: [String]]]()

访问它想是这样的:

dataModel["Costco"]?["June 1, 2016"] //returns an optional of type String

那访问

虽然再次,我肯定会推荐你看看创建结构来封装这些数据。使用结构体,您可以创建自己的GroceryStore结构体用作关键字,并且可以使用适当的NSDate对象作为第二层的关键字。

祝你好运,让我知道如果您有任何问题!