Ios 无法使用“uiButton”(Swift)类型的索引为[uiButton]类型的值下标

Ios 无法使用“uiButton”(Swift)类型的索引为[uiButton]类型的值下标,ios,swift,uibutton,Ios,Swift,Uibutton,我有一个UIButton radioController.buttonsArray=[button1,button2,button3]数组,希望通过将所选按钮传递给函数radioController来设置所选按钮的默认值。defaultButton=radioController.buttonsArray[selectedButton] 我想使用一个原本是整数的字符串,但数组中的位置随着设计的变化而不断变化,因此在上面,我尝试了: var selectedButton: UIButton = b

我有一个UIButton radioController.buttonsArray=[button1,button2,button3]数组,希望通过将所选按钮传递给函数radioController来设置所选按钮的默认值。defaultButton=radioController.buttonsArray[selectedButton]

我想使用一个原本是整数的字符串,但数组中的位置随着设计的变化而不断变化,因此在上面,我尝试了:

var selectedButton: UIButton = button1
switch currentSelection {
    case "selection 1" : selectedButton = button1
    case "selection 2" : selectedButton = button2
    case "selection 3" : selectedButton = button3
    default: 
        break
} 
我首先得到错误消息:可选类型“[UIButton]”的值必须展开,以引用已包装基本类型“[UIButton]”的成员“subscript”

但是在用这两种方法修复之后呢?或我得到的信息是: 无法使用“uiButton”类型的索引为[uiButton]类型的值下标


如何声明selectedButton来执行此操作?或者有更好的方法吗?

您只能使用int为数组下标。如果要查找数组中特定元素的索引,应在数组上使用firstIndexof:函数

但是,对于您的特殊需要,似乎根本没有理由访问数组,因为您已经可以访问所需的元素


您只需执行radioController.defaultButton=selectedButton即可。

您只能使用INT为数组下标。如果要查找数组中特定元素的索引,应在数组上使用firstIndexof:函数

但是,对于您的特殊需要,似乎根本没有理由访问数组,因为您已经可以访问所需的元素


您只需执行radioController.defaultButton=selectedButton即可。

谢谢!有时候我因为树木而想念森林。谢谢你!有时我因树木而怀念森林。