例如,我有一个功能。在这个函数作为参数我必须传递一些UIControl像UILabel,UITextFile,UIButton等。我该怎么做:
func passDicData(controll : UIControll){
//code
}
用过:
passDicData(UILabel)
答案 0 :(得分:2)
//使用UIView
func passDicData(control:UIView){
//code
}
passDicData(UILabel(frame: .zero))
答案 1 :(得分:0)
是UIControl
,而不是UIControll
。
此外,UILabel
,UITextField
和UIButton
的共同祖先是UIView
,例如请参阅此scheme。
func passDicData(view: UIView){
//code
}
答案 2 :(得分:0)
你可以这样使用,
func passDicData(control: AnyClass){
print(control.class())
}
并按照这种方式调用,
passDicData(control: UILabel.self)
答案 3 :(得分:0)
是的,您可以使用UIControl
作为参数:
func passDicData(controll : UIControl){
//code
}
但是, NOT 可以像这样调用此函数:
passDicData(UILabel)
那是因为
UILabel
,例如passDicData(UILabel())
UIControl
相反,您可以使用UIView
或UIResponder
,它们都是UILabel
func passDicData(responder : UIResponder){
//code
}
passDicData(UILabel())