2017-03-03 7 views
1

これは基本的な質問です。私は素早くするのが新しく、これはStructArray(構造体内部の構造体)に関する特定の質問ですStructの内部でStructを呼び出すにはどうすればよいですか?

私はこのような出力(TableView構造体をセクションとして)しようとしています:

enter image description here

私は構造体に

構造体を配列を作成しようとしている辞書、 でそれを行うことができます

、その後、私はこれらのコードでエラーを得たデータに

func CreateRadioData() { 
    var JakartaChannels: [StructChannels] = [] 
    JakartaChannels = [ 
     StructChannels(channelName: "Prambors 102.2 FM Jakarta", streamURL: "http://masima.rastream.com/masima-pramborsjakarta", imageURL: "PramborsJakarta"), 
     StructChannels(channelName: "I-Radio 89.6 FM Jakarta", streamURL: "http://mra.rastream.com/mra_iradio", imageURL: "IRadioJakarta") 
    ] 

    var MedanChannels: [StructChannels] = [] 
    MedanChannels = [ 
     StructChannels(channelName: "KISS 105 FM Medan", streamURL: "http://live.kissfm-medan.com:8080/kissfm.mp3", imageURL: "KissFMMedan") 
    ] 



    var Sections:[StructSections] = [] 
    Sections = [ 
     StructSections(sectionName: "Jakarta", channels: JakartaChannels), 
     StructSections(sectionName: "Medan", channels: MedanChannels) 
    ] 
} 

をロードする関数を作成します。

StructSections(sectionName: "Jakarta", channels: JakartaChannels), 
StructSections(sectionName: "Medan", channels: MedanChannels) 

構造体StructSections内構造体JakartaChannelsMedanChannelsを呼び出す方法は?

+1

ようなチャネルのアレイを作成します。varチャネル:変数と関数の名前の[StructChannels] StructSectionsセクションの – iDhaval

+1

使用キャメルケース。 – Mark

+0

なぜ新しい配列 'var x:[StructSections] = []'を作成してすぐにそれを新しい配列で上書きしますか? 'x = [a、b、c]'? – Alexander

答えて

4

このステートメントでは、StructChannelsの配列を渡していますが、それはStructChannels refです。

StructSections(sectionName: "Jakarta", channels: JakartaChannels) 

ので、StructChannelsのアレイにStructSections性チャネルを作成します。

struct StructSections { 
var sectionName: String! 
var channels: [StructChannels] 
var collapsed: Bool! 

init(sectionName: String, channels: [StructChannels], collapsed: Bool = false) { 
    self.sectionName = sectionName 
    self.channels = channels 
    self.collapsed = collapsed 
} 

}

+1

おっと...ええ、私はそれを構築し、それは動作します! –

+0

この行を見てください。 init(sectionName:String、channels:[StructChannels]、折りたたみ:Bool = false){..} initパラメータでも[StructChannels]が必要です。 – Sahil

+0

ありがとうございました –

関連する問題