2016-07-06 83 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對象作爲第二層的關鍵字。

祝你好運,讓我知道如果您有任何問題!