Swift 如何从集合视图单元格内的图像视图访问图像?

Swift 如何从集合视图单元格内的图像视图访问图像?,swift,xcode,uicollectionview,cell,Swift,Xcode,Uicollectionview,Cell,我有一个集合视图,单元格中填充了图像和按钮(如果按下相关按钮,则将图像添加到图库) (我需要全屏操作的didSelectItem委托方法,因此无法将其用于添加操作) 我给每个单元格和单元格内的每个按钮分配了相同的标签,这样我可以在按下按钮时读取标签 现在我需要访问相关细胞的图像,但图像的关键是什么 我正在寻找类似于: @IBAction func addFromCell(_ sender: UIButton) { imagesArray.append(myCollectionView.cellF

我有一个集合视图,单元格中填充了图像和按钮(如果按下相关按钮,则将图像添加到图库)

(我需要全屏操作的didSelectItem委托方法,因此无法将其用于添加操作)

我给每个单元格和单元格内的每个按钮分配了相同的标签,这样我可以在按下按钮时读取标签

现在我需要访问相关细胞的图像,但图像的关键是什么

我正在寻找类似于:

@IBAction func addFromCell(_ sender: UIButton) {
imagesArray.append(myCollectionView.cellForItem(at: sender.tag).imageView.image)
}
但这不起作用。

单元格中的图像是视图。那不是你想要的。永远不要将视图视为数据。您需要的是这是什么图像的数据

扪心自问:图像最初是如何进入细胞的?这是因为您将它放在了
cellForItemAt:
实现中。你的
cellForItemAt:
是如何知道将什么图像放入该单元格的?它根据单元格的索引路径在数据模型中查找


因此,当按下按钮时,您只需要知道该按钮单元格的索引路径,现在您只需在模型中查找图像。这很容易找到,因为你知道这是什么单元格,所以你知道它占用了什么索引路径。

你可以使用闭包来访问集合视图单元格内的按钮