swift 中的 Eureka lib:如何循环行?

Eureka lib in swift: How can I loop rows?

也许这是一个无用的问题,但我正在尝试用 labelRow 做一个“for 循环”,但它没有做我想做的事。

我想要与 Eureka 的示例项目相同的东西与 SegmentedRow,但在段中我想为行做​​一个循环。

有人可以指导我吗?

这是我尝试加载的视图:

 self.form = Section()
        <<< SegmentedRow<String>("segments"){
            [=11=].options = ["Passées", "En cours", "Futures"]
            [=11=].value = "En cours"
        }
        
        +++ Section(){
            [=11=].tag = "past_s"
            [=11=].hidden = "$segments != 'Passées'" // .Predicate(NSPredicate(format: "$segments != 'Sport'"))
    }
    
    for it in self.past {
        self.form.last! <<< TextRow() { row in
            row.title = "Which is your favourite soccer player?"
        }
    }
    
    self.form +++= Section(){
        [=11=].tag = "waiting_s"
        [=11=].hidden = "$segments != 'En cours'"
    }
    
    for it in self.waiting {
        self.form.last! <<< TextRow() { row in
            row.title = "Which is your favourite soccer player?"
        }
    }
    
    self.form +++= Section(){
        [=11=].tag = "futur_s"
        [=11=].hidden = "$segments != 'Futures'"
    }
    
    for it in self.future {
        self.form.last! <<< TextRow() { row in
            row.title = "Which is your favourite soccer player?"
        }
    }

这就是我在等的:)

self.form = Section()
    <<< SegmentedRow<String>("segments"){
        [=12=].options = ["Passées", "En cours", "Futures"]
        [=12=].value = "En cours"
    }
    
    +++ Section(){
        [=12=].tag = "past_s"
        [=12=].hidden = "$segments != 'Passées'" // .Predicate(NSPredicate(format: "$segments != 'Sport'"))
    }
    
    <<< LabelRow() { row in
        row.title = "1"
    }
    
    <<< LabelRow() { row in
        row.title = "temp"
    }
    
    +++ Section(){
        [=12=].tag = "waiting_s"
        [=12=].hidden = "$segments != 'En cours'"
    }
    
    <<< LabelRow() { row in
        row.title = "2"
    }
    
    <<< LabelRow() { row in
        row.title = "temp"
    }
    
    +++ Section(){
        [=12=].tag = "futur_s"
        [=12=].hidden = "$segments != 'Futures'"
    }
    
    <<< LabelRow() { row in
        row.title = "3"
    }
    
    <<< LabelRow() { row in
        row.title = "temp"
}
    

我也试过了(还有很多其他方法):

form +++ Section()
form.last! <<< SegmentedRow<String>("segments"){
    [=13=].options = ["Passées", "En cours", "Futures"]
    [=13=].value = "En cours"
}

form +++= Section(){
    [=13=].tag = "past_s"
    [=13=].hidden = "$segments != 'Passées'"
}

for past in self.past {
    form.last! <<< LabelRow() { row in
        row.title = "1"
    }
}

也试试这个:

form = Section()
    <<< SegmentedRow<String>("segments"){
        [=14=].options = ["Passées", "En cours", "Futures"]
        [=14=].value = "En cours"
}

form +++ self.pastSection!
form +++ self.waitingSection!
form +++ self.futurSection!

self.pastSection = Section("past_s") {
    [=14=].tag = "past_s"
    [=14=].hidden = "$segments != 'Passées'"
}

self.waitingSection = Section("waiting_s") {
    [=14=].tag = "waiting_s"
    [=14=].hidden = "$segments != 'En cours'"
}

self.futurSection = Section("futur_s") {
    [=14=].tag = "futur_s"
    [=14=].hidden = "$segments != 'Futures'"
}

for past in self.past {
    self.pastSection!
        <<< LabelRow() {
            [=14=].title = "test"
    }
}

for waiting in self.waiting {
    self.waitingSection!
        <<< LabelRow() {
            [=14=].title = "test"
    }
}

for futur in self.future {
    self.futurSection!
        <<< LabelRow() {
            [=14=].title = "test"
    }
}

form +++ self.pastSection!
form +++ self.waitingSection!
form +++ self.futurSection!

但是我得到了这样的错误:

终于找到答案了!

form.delegate = nil
form.removeAll()

form +++= Section("DuplicateCounter") { row in row.tag = "DuplicateCounter" }

    <<< SegmentedRow<String>("segments"){
        [=10=].options = ["Passées", "En cours", "Futures"]
        [=10=].value = "En cours"
}

self.pastSection = Section("past_s") {
    [=10=].tag = "past_s"
    [=10=].hidden = "$segments != 'Passées'"
}

self.waitingSection = Section("waiting_s") {
    [=10=].tag = "waiting_s"
    [=10=].hidden = "$segments != 'En cours'"
}

self.futurSection = Section("futur_s") {
    [=10=].tag = "futur_s"
    [=10=].hidden = "$segments != 'Futures'"
}

form +++ self.pastSection!
form +++ self.waitingSection!
form +++ self.futurSection!

for past in self.past {
    self.pastSection!
        <<< LabelRow("\(past.id)") {
            [=10=].title = "test"
    }
}

for waiting in self.waiting {
    self.waitingSection!
        <<< LabelRow("\(waiting.id)") {
            [=10=].title = "test"
    }
}

for futur in self.future {
    self.futurSection!
        <<< LabelRow("\(futur.id)") {
            [=10=].title = "test"
    }
}

我的方法是使用 Json 文件和循环条目 -->

 do {

        if let file = Bundle.main.url(forResource: "linhas_fretados", withExtension: "json") {
            let data = try Data(contentsOf: file)

            let json = JSON(data: data)
            for (_,subJson):(String, JSON) in json {

                let inserir_fretado = Linhas_Fretado(
                    linha: subJson["Linha"].stringValue,
                    hora_saida_sa: subJson["Campus Santo André Partida"].stringValue,
                    hora_saida_sbc: subJson["Campus São Bernardo Partida"].stringValue,
                    hora_saida_tmnl: subJson["Terminal Leste"].stringValue)


                if(subJson["Campus Santo André Partida"] != ""){
                    self.Saida_SA.append(inserir_fretado)
                }

                if(subJson["Terminal Leste"] != ""){
                    self.Saida_TMNL.append(inserir_fretado)
                }

                if(subJson["Campus São Bernardo Partida"] != ""){
                    self.Saida_SBC.append(inserir_fretado)
                }
            }
        } else {}
    } catch {
        print(error.localizedDescription)
    }


    let formulario =  form
        formulario +++ Section("Onde Voce está?:")
        <<< SegmentedRow<String>("segments"){
            [=10=].options = ["SA", "TERMINAL", "SBC"]
            [=10=].value = "SA"
        }

//#################### ONIBUS SAINDO DE SSANTOS ANDRE MANO #############
        formulario +++ Section("Saindo de SA"){
            [=10=].tag = "SA_s"
            [=10=].hidden = "$segments != 'SA'"
        }


    var i = 0
    while i <= (Saida_SA.count-1) {
        form.sectionBy(tag: "SA_s")! <<< TextRow() { [=10=].title = "Linha \(self.Saida_SA[i].linha)" ; [=10=].value = self.Saida_SA[i].hora_saida_sa ; [=10=].disabled = true }
        i = i + 1
    }


//#################### ONIBUS SAINDO DO TERMINALLLLOUAOOOASOASOA #############
    formulario +++ Section(){
        [=10=].tag = "TERMINAL_s"
        [=10=].hidden = "$segments != 'TERMINAL'"
    }

    var a = 0
    while a <= (Saida_SA.count-1) {
         form.sectionBy(tag: "TERMINAL_s")! <<< TextRow() { [=10=].title = "Linha \(self.Saida_TMNL[a].linha)" ; [=10=].value = self.Saida_TMNL[a].hora_saida_tmnl ; [=10=].disabled = true }
        a = a + 1
    }


  //#################### ONIBUS SAINDO DE SAO BERNARDO DO CAMPO #############
        formulario +++ Section(){
            [=10=].tag = "SBC_s"
            [=10=].hidden = "$segments != 'SBC'"
        }

    var i2 = 0
    while i2 <= (Saida_SA.count-1) {
         form.sectionBy(tag: "SBC_s")! <<< TextRow() { [=10=].title = "Linha \(self.Saida_SBC[i2].linha)" ; [=10=].value = self.Saida_SBC[i2].hora_saida_sbc ; [=10=].disabled = true }
        i2 = i2 + 1
    }

我浪费了很多时间来创建这个并在互联网上搜索,我没有找到其他类似的东西,所以我希望你喜欢兄弟。