我有一个我根本想不通的问题。 我有一个应用程序,我使用pop来设置动画,以及动画完成后我想要循环的图像数组。
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循环中更改数组的类型和多个其他类型,但是现在它在一个地方工作,而不是另一个地方,我很无能为力。
这有效:
override func viewDidLoad() {
for img in self.images as! [UIImage]{
print(img)
print("This prints all the images")
}
}
所有xcode返回错误为“(lldb)”,这对我没有多大帮助。 我做错了什么?
答案 0 :(得分:0)
发布此内容后几分钟,以及几个小时的想知道和揉搓我的脑袋,我尝试了一些随机的东西并将函数showImages()放在.viewDidLoad()上面。这解决了它,我不知道在调用函数时有任何问题。