来自数组的图像未显示在 UICollectionview 中

Images from array aren't shown in UICollectionview

我有一个数组,其中包含我从相机获得的所有图像。它们保存在我的核心数据中。如果用户拍了一张新照片,照片将保存在核心数据中,然后我用核心数据图像替换普通数组数据。因此,如果我返回到集合视图,只会显示第一张和最后一张图像。当我打印 images[indexpath.item] 时,我得到了图像。但是它们没有显示在单元格中。我在单元格中为 imageView 自定义了 class 并且 imageView 有限制,所以图像不能超出我认为的可见区域。我期待着在您的帮助下解决这个问题。谢谢。

这是来自相机捕捉的代码:

 func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage!, editingInfo: [NSObject : AnyObject]!) {                    
    photoImage.image = image
    
    print(images)
    addPhotoLabel.removeFromSuperview()
    if isEdit == false {            
        let context = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
        let entinity = NSEntityDescription.entityForName("Image", inManagedObjectContext: context)
        
        let newImage = Image(entity: entinity!, insertIntoManagedObjectContext: context)
        newImage.image = UIImageJPEGRepresentation(image, 1)
        do {
            try context.save()
        } catch let error as NSError {
            print(error)
        }
        images.removeAll()
        let request = NSFetchRequest()
        request.entity = entinity
        let fetched = try? context.executeFetchRequest(request)
        if fetched != nil {
            let imagesS = fetched!.map { UIImage(data: ([=10=] as! Image).image!)}
            
            images.appendContentsOf(imagesS)
            
        }        
    }
    self.dismissViewControllerAnimated(true, completion: nil);
}

以及我创建单元格的代码:

override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
//1
   
    let cell : FlickrPhotoCell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) as! FlickrPhotoCell    

    if searchBarActive == true 
    {
        cell.nameLabel.text = researchResults[indexPath.item]
        cell.imageView.image = sFunc_imageFixOrientation(resultImages[indexPath.item]) 
    }
    else
    {        
    cell.nameLabel.text = names[indexPath.item]
        
    cell.imageView.image = images[indexPath.item]
        print(images[indexPath.item])                
    }

    cell.nameLabel.hidden = false

    cell.frame.size = CGSizeMake(UIScreen.mainScreen().bounds.width/2  , UIScreen.mainScreen().bounds.width/2)

    cell.imageView.frame = cell.frame
        
    cell.backgroundColor = UIColor.clearColor()
    cell.layer.borderColor = themeColor.CGColor
    cell.layer.borderWidth = 4
    cell.layer.cornerRadius = CGFloat(10.0)
    cell.placeHolderName.frame.size = CGSize(width: cell.frame.width, height: cell.frame.height/4)
 
    return cell
}

询问我是否需要更多代码。谢谢

这个答案可能会有一些帮助:

另外,我想你可能想(在你的情节提要中或以编程方式)在 UICollectionViewCell 中设置一个 UIImageView,然后更新该图像视图的 .image 值。