gpt4 book ai didi

ios - 如何接受多种类型作为函数中的参数?

转载 作者:可可西里 更新时间:2023-11-01 00:00:50 24 4
gpt4 key购买 nike

我想在另一个 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
)
}

我想使用以下对象的此功能:UILabel、UIButton、UIView、UITextField 等等。我找不到任何允许多种类型作为“对象”参数的方法。

我还尝试将“object”的类型设置为 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
)
}

关于ios - 如何接受多种类型作为函数中的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43708775/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com