2016-06-24 4 views
2

Может быть, это бесполезно вопрос, но я пытаюсь сделать «цикл» с labelRow, но не делать то, что я хочу ..:/Eureka lib in swift: Как я могу занять строки?

я хочу те же вещи, как, например, проект из Eureka с SegmentedRow, но в сегменте я хочу сделать цикл для строк.

Может ли кто-нибудь меня навестить?

спасибо !!

пс:

вот что я стараюсь в виду сделал груз:

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! 

, но я получил сообщение об ошибке, как это photo of error

ответ

2

наконец я нашел ответ!

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

спасибо за чтение :) увидится

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 
    } 

Я потерял много времени на создание этого и искать в Интернете, я не нахожу что-то подобное, так что надеюсь, вам понравится брат.

+0

Эй, может быть, вы должны поместить его на английском вместо этого, просто для, вы знаете, глобального понимания. И, может быть, этого недостаточно, как, например, без json в вашем коде, я имею в виду, что это не предмет, о котором я говорил раньше. (ps: не предпочитаете ли вы быстро использовать цикл вместо while?) Еще спасибо за ваш ответ. :) –