我有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