我有一个Swift 3应用,我正在使用Eureka Forms。
在创建对象的表单中,我使用的是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
}
答案 0 :(得分:1)
在Eureka中,MultipleSelectorRow中的“value”是一个Set。在分配之前,您需要将数组转换为集合。
你应该知道Swift中的Set和数组之间有几点不同:
1)Set中的值是无序的(它们不会以与原始数组中相同的顺序出现)
2)Set中的值是唯一的(来自Array的重复项只会显示为一个值)
3)值必须是可清除的。 Swift中的所有基本类型(包括String)都可以使用。 (另外:Int,Double,Bool)
只需将数组转换为Set,然后再将其指定给Value:
$0.value = Set(prevGradeTypeList)