2016-07-06 14 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]]]() 

辞書内のこの辞書を使用して開始することが可能であり、私は、任意の「>日付食料品店」の下のアレイにアクセスする方法を見つけ出すことはできません。

免責事項:私は非常識なことを許すために非常に新しいです。私は辞書のAppleのドキュメントを読んだが、それは役に立たなかった。

+0

ネストされたディクショナリはメモリにのみ存在し、ディスクには存在しないため、 "データモデル"はb/nアプリケーションの起動を維持しないことに注意してください。 – ghostatron

答えて

2

はい、辞書の辞書があれば可能です(ただし、その時点でクラスや構造体を使用することを検討することもできます)。

あなたは使用して、それを初期化することができます:再び、私は間違いなくあなたが作成に見て推薦するけれども

アクセサ

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

:それはこのような何かをしたいと思いアクセスvar dataModel = [String: [String: [String]]]()

structこのデータをカプセル化します。構造体を使用すると、GroceryStore構造体をキーとして作成し、適切なNSDateオブジェクトを2番目のレイヤーのキーとして使用できます。

ご質問がある場合は、運が良ければ教えてください。

関連する問題