如何从 Eureka 获取 MultivaluedSection 值?

How can I get MultivaluedSection values from Eureka?

我已搜索但找不到解决此特定问题的答案。

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

如何获取此处选择的值?

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

以下方法不适用于 MultivaluedSection:

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

我总是这样做:

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

基本上,

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