简体   繁体   English

如何在Struct内部调用Struct?

[英]How do I call Struct inside a Struct?

it's a basic question, I'm new to swift, and this is a specific question about Struct Arrays ( Struct inside struct) 这是一个基本问题,我是新手,这是关于Struct数组的一个特定问题(struct内部的Struct)

I'm trying to have an output (TableView structure with header as section) like this: 我正在尝试像这样的输出(带有标头的TableView结构):

在此处输入图片说明

I can do it with Dictionary, I'm trying to make arrays in struct 我可以用Dictionary做到这一点,我正在尝试在struct中创建数组

Structs: 结构:

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
    }
}

struct StructChannels{
    var channelName: String!
    var streamURL: String!
    var imageURL: String!
}

and then I create function to load data 然后我创建函数来加载数据

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)
    ]
}

I got error in these codes: 我在这些代码中出错:

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

How to call the structs JakartaChannels and MedanChannels inside the struct StructSections ? 如何调用结构JakartaChannelsMedanChannels的结构里面StructSections

In this statement you are passing array of StructChannels but it is expected only StructChannels ref. 在此语句中,您正在传递StructChannels数组,但是仅StructChannels引用是期望的。

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

so, create StructSections property channels to array of StructChannels . 因此,创建StructSections属性通道到StructChannels数组。

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
}

} }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM