wyt*_*yte 2 parameters types function ios swift
我想在另一个swift文件中创建一个通用函数,用于隐藏和显示带动画的UI对象.以下是两个代码:
func hide(object: /*My UI Object*/, duration: Double, delay: Double) {
UIView.animate(withDuration: duration, delay: delay, options: [], animations: {
object.alpha = 0
} ,
completion: nil
)
}
func show(object: /*My UI Object*/, duration: Double, delay: Double) {
UIView.animate(withDuration: duration, delay: delay, options: [], animations: {
object.alpha = 1
} ,
completion: nil
)
}
Run Code Online (Sandbox Code Playgroud)
我想使用这个对象的函数,如:UILabel,UIButton,UIView,UITextField等.我找不到允许多种类型作为"对象"参数的任何方法.
我也尝试将"对象"的类型设置为Any,但这会导致"object"的错误没有成员"alpha".
将类型设置为AnyObject会导致无法分配给属性的错误,因为"object"是"let"常量.
谢谢您的帮助!
您可以键入参数UIView,因为所有提到的控件都从中继承.
func hide(object: UIView, duration: Double, delay: Double) {
UIView.animate(withDuration: duration, delay: delay, options: [], animations: {
object.alpha = 0
} ,
completion: nil
)
}
func show(object: UIView, duration: Double, delay: Double) {
UIView.animate(withDuration: duration, delay: delay, options: [], animations: {
object.alpha = 1
} ,
completion: nil
)
}
Run Code Online (Sandbox Code Playgroud)