Eureka Forms Multiple Selector Row设置默认值

Posted

技术标签:

【中文标题】Eureka Forms Multiple Selector Row设置默认值【英文标题】:Eureka Forms Multiple Selector Row set default values 【发布时间】:2017-03-18 12:04:15 【问题描述】:

我有一个使用 Eureka Forms 的 Swift 3 应用程序。

在表单内创建对象我使用的是MultipleSelectorRow,效果很好。

但是,我该如何设置它的默认值呢?

如果我使用以下代码,我会收到一条错误消息,指出“无法将 [String] 类型的值分配给 Set[String] 类型”

<<< MultipleSelectorRow<String>() 
  $0.tag = "gradeType"
  $0.title = "Grade Types"
  $0.selectorTitle = "Pick the posted grade types"
  $0.value = prevGradeTypeList
  $0.options = gradeTypePicker

【问题讨论】:

你能分享你对prevGradeTypeListgradeTypePicker 的变量定义吗? 【参考方案1】:

在 Eureka 中,MultipleSelectorRow 中的“值”是一个 Set。在分配之前,您需要将数组转换为集合。

你应该注意 Swift 中的 Set 和 Array 之间的一些区别:

1) Set 中的值是无序的(它们不会以与原始数组中相同的顺序出现)

2) 集合中的值是唯一的(数组中的重复项只会显示为一个值)

3) 值必须是可散列的。 Swift 中的所有基本类型,包括 String,都可以使用。 (还有:Int、Double、Bool)

只需将您的 Array 转换为 Set,然后再将其分配给 Value:

$0.value = Set(prevGradeTypeList)

【讨论】:

以上是关于Eureka Forms Multiple Selector Row设置默认值的主要内容,如果未能解决你的问题,请参考以下文章

Swift Eureka forms:如何限制多值部分中的行数?

Eureka Forms Swift 启用和禁用按钮

Swift 4.1 更新后 Eureka Forms 损坏

适用于 iOS 的 Eureka Forms - 可变行高?

Swift 3 Eureka Forms 更改按钮行字体颜色

Verilog multiplexer