2016-03-23 12 views
0

配列に格納されたUIImageViewsのグループがあります。私は同じ方法でこれらのImageViewsの一定量をアニメーション化したいと思います。このように、私は次のコードを使用しようとしている:Swift UIView.animateWithDurationおよびFor-Loops

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

はしかし、私はしないでくださいこれは本当に問題だと考えています。これは、私が 'animation'パラメータのfor-loopを使用しているため、Xcodeが取得するのは任意の構文エラーであると思われます。私はまだスイフトについてたくさんのことを学んでいるので、なぜこれがうまくいかないのか分からないので、この仮定が正しければ、なぜこれを回避できるのかを知りたいと思います。

これが当てはまらない場合は、私が問題を回避する必要があるため、私に知らせてください。事前

答えて

4

おかげでこれはトリッキーなエラー(..<周りのノートスペース)です。

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

+0

感謝を参照してください!私の問題を解決した –

+0

素晴らしい目... :) –