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
【问题讨论】:
你能分享你对prevGradeTypeList
和gradeTypePicker
的变量定义吗?
【参考方案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:如何限制多值部分中的行数?
适用于 iOS 的 Eureka Forms - 可变行高?