我有一组存储在数组中的UIImageViews。我想以相同的方式为一定数量的这些ImageView制作动画。因此,我一直在尝试使用以下代码:
var lowerViews: [UIImageView] = [imageView1, imageView2, imageView3, imageView4]
var startingIndex = 1;
UIView.animateWithDuration(0.3, delay: 0.1, options: UIViewAnimationOptions.CurveEaseInOut, animations: {
for index in startingIndex..< lowerViews.count {
lowerViews[index].frame.origin.y += 100
}
}, completion: nil)
但是在这一行:
for index in startingIndex..< lowerViews.count {
Xcode给了我错误:
预期'{'启动每个for循环的主体
但是,我不认为这确实是个问题。在我看来,这是Xcode获取的任意语法错误,因为我在'animation'参数中使用for循环。因为我还在学习很多关于Swift的知识,所以我不知道为什么这不会起作用,所以如果这个假设是正确的,我想知道为什么以及如何解决这个问题。
如果不是这样,请告诉我,因为无论哪种方式我都需要解决问题。
提前致谢
答案 0 :(得分:4)
这是一个棘手的错误(注意..<
周围的空格)。
for index in startingIndex ..< lowerViews.count {
将起作用或
for index in startingIndex..<lowerViews.count {
会起作用但是:
for index in startingIndex..< lowerViews.count {
没有工作。
原因是当使用startingIndex..<
时,..<
被认为是后缀(一元)运算符(不是中缀运算符)。因此,整个表达式停止有意义,你开始得到奇怪的错误。