我需要在选项行(PushRow和MultipleSelectorRow)中指定不同的值和显示值。显示值是指选项选择视图控制器中显示的值(不是表单中显示的选定值的连接列表)。
我知道这可以通过使用符合Hashable的自定义类并将行的options属性设置为此类类实例的数组来完成。
$0.options = [
MyStruct(value: "1", displayValue: "one"),
MyStruct(value: "2", displayValue: "two"),
MyStruct(value: "3", displayValue: "three")]
然而,当使用value
获取表单值而不是我感兴趣的实际值MyStruct
时,这导致form.values
这样配置的行的类型为MyStruct.value
{1}}。这就产生了必须相应地映射表单值的不必要的复杂性。
我想知道是否有更理想的方法来实现这一目标?即行的值仍然是简单的数据类型(例如String
或Int
),但可以自定义选项选择视图控制器中显示的值。