Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在swift中打开定时事件的图像_Swift - Fatal编程技术网

在swift中打开定时事件的图像

在swift中打开定时事件的图像,swift,Swift,我试图通过定义我应该显示的图像,将UIImageView中显示的图像切换到基于定时事件的不同图像,并且应用程序工作,但当计时器达到5时,应用程序崩溃。如果有人能帮我,那就太好了(而且广告是图像名称的开头,所以广告1-广告4) }有两件事: 1:你说你有图像AD_1-AD_4-那只有四个图像,所以它不能处理第五个!我猜你指的是广告1-广告5 2:更重要的是,您从i=1开始,然后在尝试显示图像之前添加1,因此实际上您正在尝试显示图像2…6 在显示图像后,而不是在更改点火开关之前,增加i,使其在达到5

我试图通过定义我应该显示的图像,将UIImageView中显示的图像切换到基于定时事件的不同图像,并且应用程序工作,但当计时器达到5时,应用程序崩溃。如果有人能帮我,那就太好了(而且广告是图像名称的开头,所以广告1-广告4)

}有两件事:

1:你说你有图像AD_1-AD_4-那只有四个图像,所以它不能处理第五个!我猜你指的是广告1-广告5

2:更重要的是,您从
i=1
开始,然后在尝试显示图像之前添加1,因此实际上您正在尝试显示图像2…6


在显示图像后,而不是在更改点火开关之前,增加
i
,使其在达到5后重新启动

@objc func fire() {
    self.Ad_Frame.image = UIImage(named: "AD_\(i)")
    i += 1
    if i > 4 { i = 1 }
}

主题之外,但我建议将
I
重命名为更具可读性的名称,例如
计数器
。除了循环中的
外,不建议使用单字母变量。另外,在声明它时,您不需要调用
Int(…)
,而是直接赋值,
var counter=1

我试图从显示第一个图像开始,然后切换图像,但我切换了它,它仍然崩溃。很抱歉,不理解您的评论或其相关性。有用的提示:您应该了解outlet系列。
@objc func fire() {
    self.Ad_Frame.image = UIImage(named: "AD_\(i)")
    i += 1
    if i > 4 { i = 1 }
}