2016-10-21 11 views
-1

私はこれを助けています:tableViews with dictionarySwiftの辞書を使用した構造体の配列

すべてを再現できました。しかし、私は私の辞書は、このようにする必要があります。辞書のすべての値を上記のリンクを反復するために今すぐ

var channelsCategorized = [String:[String:Int]]() 

ことは、これを行うに言う:

for (key,value) in channelsCategorized{ 

     structArray.append(channelsStruct(section: key, name: value)) 

    } 

私の辞書には、[文字列であればこれは次のとおりです。 [String]]でも、それは[String:[String:Int]]です。構造体セクションに名前とIDを追加する必要があります。

struct channelsStruct { 

    var section: String! 
    var name: [String]! 
    var channelId: String! 
} 

と、これは私の構造体配列である:これは私の構造体である[movies:[channelName,idChannel]]

var structArray = [channelsStruct]() 

答えて

0

私はこれを実装する方法を示しべき一緒に以下を入れて私の辞書には、それはこのようなものですあなたの場合。注記構造体がすべての値が利用可能な場合にのみ作成されるようにチェックを入れました。

let myDictionaryOfDictionaries : [String : [String : String]] = ["Apples" : ["Colour" : "Red", "Type" : "Granny Smith"], 
              "Oranges" : ["Colour" : "Orange", "Type" : "Seville"]] 

struct fruit { 
    let name : String 
    let colour : String 
    let type : String 
} 

var fruits : [fruit] = [fruit]() 

for (key, value) in myDictionaryOfDictionaries { 

    if let colour : String = value["Colour"], let type : String = value["Type"] { 
     let newFruit = fruit(name: key, colour: colour, type: type) 
     fruits.append(newFruit) 
    } 
} 

print(fruits.count) // Outputs 2 

for f in fruits { 
    print("NAME: \(f.name) COLOUR: \(f.colour) TYPE: \(f.type)") //Outputs NAME: Apples COLOUR: Red TYPE: Granny Smith\n NAME: Oranges COLOUR: Orange TYPE: Seville 
} 
+0

です。とても感謝しています。 – JoseMartinFit

+0

@JoseMartinFit問題はありません - 私たちは皆、何度も助けが必要です! – Sparky

関連する問題