gpt4 book ai didi

ios - For 循环在自定义函数中不起作用

转载 作者:行者123 更新时间:2023-11-30 13:20:16 25 4
gpt4 key购买 nike

我遇到了一个我根本无法解决的问题。我有一个应用程序,我在其中使用 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()
}
}
}

图像循环:

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)”,这对我没有多大帮助。我做错了什么?

最佳答案

发布这篇文章几分钟后,经过几个小时的思考和摸索,我随机尝试了一些东西,并将函数 showImages() 放在 .viewDidLoad() 之上。这解决了这个问题,我不知道调用函数有什么问题。

关于ios - For 循环在自定义函数中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37842176/

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