始终在第一个 Cell UICollectionView 中保存数据

Posted

技术标签:

【中文标题】始终在第一个 Cell UICollectionView 中保存数据【英文标题】:Save Data always in the first Cell UICollectionView 【发布时间】:2016-03-28 15:13:25 【问题描述】:

我有一个 UICollectionView,我想始终将数据(图像)保存在第一个单元格中,而旧数据会转到下一个单元格。所以当我保存一张新照片时,它出现在第一个单元格中,我尝试在 cellForRowAtIndexPath 中使用 indexpath.row == 0 但他只保存在其他单元格中的第一个单元格中什么都没有。我可以反转保存索引还是换一种方式?

那么有人知道我可以在那里做什么吗??

  override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int 
    return picture.count


override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell 
    let cell = collectionView.dequeueReusableCellWithReuseIdentifier("BookPicCell", forIndexPath: indexPath) as! BookPicCell

    let cellcore = picture[indexPath.row]



    if indexPath.row == 0 
         cell.BookImage.image = UIImage(contentsOfFile: cellcore.foto!)

    



    return cell

感谢您的帮助。

【问题讨论】:

【参考方案1】:

您需要创建一个 UIImages 数组并将新图像附加到该数组的前面:

pictures.insert(newImage, atIndex : 0)

插入新图像后,您需要使用以下方法重新加载 UICollectionView:

self.collectionView.reloadData()

您不想在 cellForItemAtIndexPath 中对数据进行排序

【讨论】:

我使用核心数据并将图像保存为字符串,所以我有这个代码` let newpic=NSEntityDescription.insertNewObjectForEntityForName("EveryPicture", inManagedObjectContext: self.mgdContext) as! EveryPicture newpic.everyfoto?.insert(bildPfad, atIndex: 0)` 带有插入出现无法将字符串转换为典型字符的错误。我从来没有听说过 Character 我可以转换吗? 如果你知道它们是字符串类型,你可以通过更精确的编译器来检查你的转换是否失败。使用:让图片数组:[字符串] = ...作为! [细绳]。这样你就知道你是否有一个字符串数组或其他东西。

以上是关于始终在第一个 Cell UICollectionView 中保存数据的主要内容,如果未能解决你的问题,请参考以下文章

始终在第一个计划中的图像存在问题

如何在自定义 tableView Cell 中调整标签高度和宽度

UICollectionViewCell 具有 2 列网格和动态高度

c#如何始终将数据保存在第一行区域的txt文件中?

standard cell library中的那些功能单元

当collectionview中的第一个单元格聚焦时无法聚焦uibutton