我有2个视图控制器:一个cameraVC
和一个detailVC
。该相机是一个AVFoundation
相机,可以捕捉并选择图片,然后在我的detailVC
上填充4个小的imageViews
。我试图在两个VC之间滑动,以便当您在cameraVC
上点击'是'时,然后将其添加到4 imageViews
之一。我目前使用for-loops来实现这一点,下面是我在我的详细VC中的代码。为什么我得到这个错误:致命错误 - 数组索引超出范围?
它工作时,我第一次加载应用程序,并采取一些照片,但当我滑回我的cameraVC
,然后回到我的detailVC
,应用程序崩溃并记录错误上面。
在我的代码中,我试图将imageViewArray
设置为无论在我的imageArray
中有多少图像。然后,每次我回到detailVC
时,我将清除我的imageView.images
并重新分配它们。出于某种原因,它不起作用。任何想法为什么?
override func viewWillAppear(animated: Bool) {
if imageArray.count == 1 {
imageViewArray += [imageView1]
} else if imageArray.count == 2 {
imageViewArray += [imageView1,imageView2]
} else if imageArray.count == 3 {
imageViewArray += [imageView1,imageView2,imageView3]
} else if imageArray.count == 4 {
imageViewArray += [imageView1,imageView2,imageView3,imageView4]
}
for ima in imageViewArray {
if ima.image != nil {
ima.image = nil
}
}
for (index, imageView) in imageViewArray.enumerate() {
imageView.image = imageArray[index]
}
}
为了便于阅读,我建议在'for'语句中,使用'imageViewArray'中的图像而不是'ima'。当你回到它的时候或者其他人正试图跟随时,它会让你的代码在6个月内更容易找到。 – Adrian