Swift 使用';设置动画(持续时间:延迟:选项:动画:)';
我已经升级到最新发布的Xcode 8,并且Swift 使用';设置动画(持续时间:延迟:选项:动画:)';,swift,compilation,overloading,Swift,Compilation,Overloading,我已经升级到最新发布的Xcode 8,并且 let mediumInterval: TimeInterval = 0.6 UIView.animate(withDuration: mediumInterval) { print("test") } 正在给我错误使用“animate(withDuration:delay:options:animations:)”时出现歧义。我真的看不出这里有什么歧义。。。UIView中声明的所有animate函数都是 open class func anim
let mediumInterval: TimeInterval = 0.6
UIView.animate(withDuration: mediumInterval) {
print("test")
}
正在给我错误使用“animate(withDuration:delay:options:animations:)”时出现歧义。
我真的看不出这里有什么歧义。。。UIView
中声明的所有animate
函数都是
open class func animate(withDuration duration: TimeInterval, delay: TimeInterval, options: UIViewAnimationOptions = [], animations: @escaping () -> Swift.Void, completion: (@escaping (Bool) -> Swift.Void)? = nil)
open class func animate(withDuration duration: TimeInterval, animations: @escaping () -> Swift.Void, completion: (@escaping (Bool) -> Swift.Void)? = nil)
open class func animate(withDuration duration: TimeInterval, animations: @escaping () -> Swift.Void)
open class func animate(withDuration duration: TimeInterval, delay: TimeInterval, usingSpringWithDamping dampingRatio: CGFloat, initialSpringVelocity velocity: CGFloat, options: UIViewAnimationOptions = [], animations: @escaping () -> Swift.Void, completion: (@escaping (Bool) -> Swift.Void)? = nil)
==获取要编译的xcode的解决方案===
UIView.animate(withDuration: mediumInterval, animation: {
print("test")
}, completion: nil)
将汇编,
UIView.animate(withDuration: mediumInterval, animation: {
print("test")
})
将一如既往地失败。我仍然不明白发生了什么…我一直在使用的PromiseKit似乎有一个UIView的扩展,它定义了一个冲突版本的animate()
XCode无法告诉我这两个相互冲突的版本来自何处,所以我花了一段时间才理解。我已经报告了这个问题。我也有同样的错误,因为我忘了在“动画”中添加“s”。 所以也许:
UIView.animate(withDuration: mediumInterval, animation: {
print("test")
})
因此无法编译。请提供一个。你把这个叫哪里?常量.mediumInterval是如何定义的?对不起,我错过了那部分。谢谢我更正了
mediumInterval
我不认为我在哪里调用它有助于解释编译错误,但如果有,我将从继承UIViewController
的类方法调用if。此错误有时可能会产生误导。注释掉动画并尝试编译。看看它是否真的是那一行。是的,我现在已经删除了动画,事情编译得很好。我用一种方法来编辑,让xcode编译,但这并不能解释发生了什么问题