gpt4 book ai didi

ios - Swift UIView.animateWithDuration 和 For 循环

转载 作者:行者123 更新时间:2023-11-28 10:19:58 32 4
gpt4 key购买 nike

我有一组存储在数组中的 UIImageView。我想以相同的方式为一定数量的这些 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 给我错误:

Expected '{' to start the body of each for-loop

但是,我不认为这真的是问题所在。在我看来,这是 Xcode 得到的任意语法错误,因为我在“动画”参数中使用了 for 循环。由于我仍在学习很多关于 Swift 的知识,我不知道为什么这行不通,所以如果这个假设是正确的,我想知道为什么以及如何解决这个问题。

如果不是这种情况,请告诉我,因为无论哪种方式我都需要解决这个问题。

提前致谢

最佳答案

这是一个棘手的错误(注意 ..< 周围的空格)。

for index in startingIndex ..< lowerViews.count {

将工作或

for index in startingIndex..<lowerViews.count {

会工作但是:

for index in startingIndex..< lowerViews.count {

不会工作。

这是因为当startingIndex..<被使用,那么..<被认为是后缀(一元)运算符(不是中缀运算符)。因此,整个表达式不再有意义,您开始出现奇怪的错误。

另见 what are the rules for spaces in swift

关于ios - Swift UIView.animateWithDuration 和 For 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36178463/

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