如何从Eureka获取MultivaluedSection值?

时间:2018-05-12 11:50:58

标签: swift eureka-forms

我搜索过,无法找到解决此特定问题的答案。

我在Swift 4.1中使用Eureka并希望将这些值存储到另一个数组中。

如何获取此处选择的值?

MultivaluedSection(multivaluedOptions: [.Insert, .Delete],
                           header: "Primary Instrument") {
            $0.tag = "instruments"
            $0.multivaluedRowToInsertAt = { _ in
                ActionSheetRow<String> {
                    $0.title = "Tap to Select"
                    $0.options = ["Vocals", "Guitar", "Bass", "Keyboards", "Ukelele"]
                }
            }
            $0 <<< ActionSheetRow<String> {
                $0.title = "Tap to Select"
                $0.options = ["Vocals", "Guitar", "Bass", "Keyboards", "Ukelele"]
            }
        }

以下方法不适用于MultivaluedSection:

if let items = self.form.rowBy(tag: "instruments") as? MultivaluedSection
            {
                print(items.values())
            }

1 个答案:

答案 0 :(得分:1)

我总是这样做:

let values: [String]? = (form.sectionBy(tag: "instructions")?.flatMap { ($0 as? ActionSheetRow<String>)?.value })

基本上,

  • 获取标记为
  • 的部分
  • 尝试将每行转换为ActionSheetRow<String>
  • 映射可以转换为其值的每一行。