2016-06-15 23 views
0

私には分かりませんが問題があります。 アニメーションが終了すると、アニメーションを作成するためにポップを使用するアプリケーションと、ループスルーするイメージの配列があります。Forループはカスタム機能では機能しません

let images: [AnyObject] = [UIImage(named: "cat1")!, UIImage(named: "cat2")!, UIImage(named: "cat3")!, UIImage(named: "cat4")!] 

アニメーションの仕上げ:

func pop_animationDidStop(anim: POPAnimation!, finished: Bool) { 
    if finished { 
     if (anim.name == "myanim") { 
      self.showImages() 
     } 
    } 
} 

Imageloop:

func showImages() { 

    print("This Prints") 
    for img in self.images as! [UIImage]{ 
     print(img) 
     print("But this fails") 
    }     
} 

奇妙なことは、である私は.viewDidLoad()に同じ機能は、それが正常に動作し、プリントすることをコピーする場合すべての画像。私は何が間違っているのか分かりません。 .viewDidLoad()で動作することが判明する前に、forループで配列の型やその他の型を変更しようとしましたが、今は1つの場所でしか動作していないので、私は無知です。

これは動作します:

override func viewDidLoad() { 
    for img in self.images as! [UIImage]{ 
     print(img) 
     print("This prints all the images") 
    } 
} 

エラーなどのすべてのXcodeのリターンは "(lldb)" であり、それは私をたくさん助けていません。 私は何が間違っていますか?

+0

'showImages()'コール時にimages配列に値が設定されていますか?デバッガで確認できますか? – Alexander

+0

はい、最初のものを印刷し、次に他のものを印刷しません。また、私はshowImages()関数に直接配列を入れてみましたが、ループ前に配置されていることを確認するために – Imbue

答えて

0

これを投稿して数時間後、私の頭を驚かせたり擦ったりして、何かをランダムに試して、showImages()を.viewDidLoad()の上に置きました。これはそれを修正した、私は機能を呼び出すことに何か問題があったとは考えていませんでした。

+1

それは "固定"されていない可能性があります – Alexander

+0

まったく考えましたが、何が変わったのか – Imbue

関連する問題