MultipleSelectorRow в Eureka формы (Swift), как привести FormValues ​​в массив строк? - PullRequest
0 голосов
/ 30 января 2019

Может ли кто-нибудь помочь мне с получением значения из MultipleSelectorRow форм Eureka?

У меня есть строка множественного выбора, подобная этой, в которой перечислены этажи.

  <<< MultipleSelectorRow <String> {
            $0.title = "  *Floor"
            $0.tag = "floor"
            $0.options = floorArray
            $0.validationOptions = .validatesOnChange
            $0.add(rule: RuleRequired())
            }.onPresent { from, to in
               to.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .done, target: from, action: #selector(SRElementsForInspectionVC.multipleSelectorDone(_:)))
            }.cellUpdate({(cell , row) in
                if !row.isValid{
                    // CELL BORDER HAS TO BE RED
                 cell.textLabel?.textColor = .red

                } else {
                    // do something
                }
            })

Затем, когда я пытаюсьчтобы получить значения по кнопке отправки, которую я вызываю,

let formvalues = self.form.values()
    if let floor = formvalues["floor"]{
        if floor != nil{
            print(floor)

            for f in floor as! [String: Any] {
                let fl = f as! String
                print(fl)
                // Print the floor
            }

        }
    }

Но я не могу получить правильный кастинг.Пожалуйста, помогите.

Необязательно (Установить (["4", "1", "3", "2"])) Не удалось привести значение типа 'Swift.Set' (0x7fe07537f348) к'Swift.Dictionary' (0x10999ed38).2019-01-30 12: 48: 36.283692 + 0530 SIDERISE [22242: 772718] Не удалось привести значение типа «Swift.Set» (0x7fe07537f348) к «Swift.Dictionary» (0x10999ed38).

1 Ответ

0 голосов
/ 20 мая 2019

да, вы исправите это следующим образом

if let _floors = formvalues["floor"] as? Set<String> {
      for _floor in _floors{
          print(_floor)
      }
}

мне и моему другу потребовалось 90 минут / 2 часа, чтобы решить это

...