2

也许这是一个无用的问题,但我正在尝试用 labelRow 制作一个“for循环”,但它并没有达到我想要的效果。

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

有人可以指导我吗?

这是我在视图中尝试过的加载:

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

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

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

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

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

也试试这个:

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

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

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

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

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

for past in self.past {
    self.pastSection!
        <<< LabelRow() {
            $0.title = "test"
    }
}

for waiting in self.waiting {
    self.waitingSection!
        <<< LabelRow() {
            $0.title = "test"
    }
}

for futur in self.future {
    self.futurSection!
        <<< LabelRow() {
            $0.title = "test"
    }
}

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

但我收到这样的错误:

错误照片

4

2 回答 2

4

终于我找到了答案!

form.delegate = nil
form.removeAll()

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

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

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

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

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

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

for past in self.past {
    self.pastSection!
        <<< LabelRow("\(past.id)") {
            $0.title = "test"
    }
}

for waiting in self.waiting {
    self.waitingSection!
        <<< LabelRow("\(waiting.id)") {
            $0.title = "test"
    }
}

for futur in self.future {
    self.futurSection!
        <<< LabelRow("\(futur.id)") {
            $0.title = "test"
    }
}
于 2016-06-27T15:47:48.420 回答
0

这是我使用 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"){
            $0.options = ["SA", "TERMINAL", "SBC"]
            $0.value = "SA"
        }

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


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


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

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


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

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

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

于 2017-06-22T22:37:49.090 回答