我被卡在Array
类型之间。我想要做的是在输入值时检测Array
类型运行时。
我有一个定义UIPickerView
的自定义类,我希望根据有时值为datasource
,String
或{{1}的要求传递Int
}。所以当然,我不能像下面那样定义因为类型转换会出问题。
Double
所以我想要一个解决方案,例如当我传递var arrFirstComponent = [Any]()
值时,Int
类型变为Array
,当我通过Int
时,它变为String
类型数组或任何东西。
任何人都可以帮助我吗?我真的不知道如何实现它。
P.S。我已经看到许多答案继承了协议,但我觉得有价值。
答案 0 :(得分:4)
您可以尝试这样的事情:
class PickerView<T> {
var arrFirstComponent = [T]()
// Your picker view code
}
let intPickerView = PickerView<Int>()
intPickerView.arrFirstComponent = [1, 2, 4]
let stringPickerView = PickerView<String>()
stringPickerView.arrFirstComponent = ["First", "Second", "Third"]