Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.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
Ios 线程1致命错误:索引超出范围ImageView_Ios_Swift4.2 - Fatal编程技术网

Ios 线程1致命错误:索引超出范围ImageView

Ios 线程1致命错误:索引超出范围ImageView,ios,swift4.2,Ios,Swift4.2,我在试图找出为什么我得到线程1致命错误时遇到问题:我的应用程序上的索引超出范围。我的应用程序显示8幅图像,以开始图像幻灯片放映。由于某种原因,我得到了这个错误,我无法找出它。有没有办法消除这个错误?有人能帮我吗 这是我的代码balow,还有一个屏幕截图链接: 错误告诉您正在访问图像数组范围之外的元素。在viewDidLoad中,您将images数组设置为8个元素。这些元素的范围为0-7。如果您试图访问该范围之外的元素,则会看到超出范围的错误 查看您的代码,问题是在NextButton和PrevB

我在试图找出为什么我得到线程1致命错误时遇到问题:我的应用程序上的索引超出范围。我的应用程序显示8幅图像,以开始图像幻灯片放映。由于某种原因,我得到了这个错误,我无法找出它。有没有办法消除这个错误?有人能帮我吗

这是我的代码balow,还有一个屏幕截图链接:


错误告诉您正在访问
图像
数组范围之外的元素。在
viewDidLoad
中,您将
images
数组设置为8个元素。这些元素的范围为0-7。如果您试图访问该范围之外的元素,则会看到超出范围的错误

查看您的代码,问题是在
NextButton
PrevButton
中,您调整了滑块值和索引,但没有检查以确保没有超过数组边界。如果您在第一张图像上,并单击“上一张”按钮,则您超出范围。如果您在最后一张图像上,并单击“下一步”按钮,则表示您超出范围

您需要做的是确保数组中没有负索引或索引大于或等于数组中的项数。从用户界面的角度来看,最好的解决方案是在第一张图像上禁用Prev按钮,在最后一张图像上禁用Next按钮

因为您要求提供一个示例,所以在增加滑块值后,下面是一些要放入
nextButton
的代码:

if slider1.value >= images.count {
    return
}
if slider1.value < 0 {
    return
}
以及递减滑块值后的
prevButton
代码:

if slider1.value >= images.count {
    return
}
if slider1.value < 0 {
    return
}
if slider1.value<0{
返回
}
现在,如果数组索引超出范围,函数将退出


最后要检查的一件事是
images
数组是否正在
viewDidLoad
中填充。在
viewDidLoad
中设置一个断点并单步执行代码。如果加载MainImage.jpg文件时出现问题,则阵列将为空,并且在访问阵列时会出现超出范围的错误

谢谢你的回复。你能给我一个关于如何解决这个问题的例子吗?我更新了答案。谢谢你的答案。你能给我举个例子,我可以在viewdidload中设置断点吗?要在Xcode中设置断点,请单击编辑器左侧代码行旁边的。编辑器中将有一个蓝色箭头指示断点。您应该在viewDidLoad中设置图像数组的行上设置断点。Ok。对不起,如果我问你我是新的Xcode。我已经在viewDidLoad旁边设置了断点。我还需要再做一步吗?