【发布时间】:2014-11-27 14:05:25
【问题描述】:
我使用 Swift 的次数不多,但我来自 Objective C,关于 Swift 的一些事情是让我印象深刻的 PITA。
在 iOS 编程中,我们有 animateWithDuration: 方法,它是 UIView 的一部分。
所以我尝试使用 Xcode 的自动完成功能并开始输入:
UIView.animateWith
自动完成显示:
UIView.animateWithDuration(duration: NSTimeInterval, animations: () -> Void)
然后我跳到“持续时间”字段,然后输入一个数字:
UIView.animateWithDuration(0.5, animations: () -> Void)
然后我再次切换到动画块,并像我通常在 Objective C 中那样按 Enter 键,Xcode 现在显示:
UIView.animateWithDuration(0.5, animations: { () -> Void in
code
})
然后我最后一次用我的代码替换“代码”:
UIView.animateWithDuration(0.5, animations: { () -> Void in
self.customView?.transform = CGAffineTransformMakeTranslation(0.0, 0.0);
})
那是 Xcode 给我错误的时候:
无法使用类型参数列表调用“animateWithDuration” '(FloatLiteralConvertible, 动画: () -> Void)'
我不明白。那是 Xcode 为我生成的自动完成代码,为什么它给我一个错误?
我注意到如果做一个简单的陈述,比如:
UIView.animateWithDuration(0.5, animations: { () -> Void in
var num = 1 + 1;
})
它没有给我任何错误。
有什么想法吗?
【问题讨论】:
标签: ios xcode swift autocomplete