如何将数组复制到 UIImages 到另一个数组中?
Posted
技术标签:
【中文标题】如何将数组复制到 UIImages 到另一个数组中?【英文标题】:How to copy the array to UIImages into another array? 【发布时间】:2019-09-27 11:50:35 【问题描述】:我正在尝试更改每个collectionview 单元格的tableView 内容,因为我正在创建一个空数组,并且我将为每个单击的单元格更改数组数据。我无法将数据从一个数组复制到另一个。
这是 swift 4.2,我只是想学习这些东西,所以不涉及后端。
var PictureArray = [UIImage(named: "s1") , UIImage(named: "s2"), UIImage(named: "s3"), UIImage(named: "s4"), UIImage(named: "s5") ]
copyArray.append(PictureArray)
错误是
可选类型“UIImage?”的值必须解包为“UIImage”类型的值
【问题讨论】:
分享copyArray声明代码,它有什么数据类型? 如果您想要复制数组中的所有项目,那么为什么不使用 copyArray = PictureArray。 @MumtazHussain mumtaz bhai, chakkar aesy tha k mujhy aik he screen p table view aur collection view change karna tha, to main chah raha tha k har collection view p click honay p array change karun, uskay liye mene 数组复制 karna,lekin ab mene isko 逻辑上更简单的方法主要是 kar lia hai,btw copyarray 是 UIImage 类型。并给出错误“'UIImage?'必须解包为“UIImage”类型的值” @Abhishek 我也试过这种方式,错误是一样的,现在我通过使用复制数组以外的其他逻辑解决了这个问题。 【参考方案1】:试试这个:
var PictureArray = [UIImage(named: "s1") , UIImage(named: "s2"), UIImage(named: "s3"), UIImage(named: "s4"), UIImage(named: "s5") ]
let arrCopy = pictures.map$0
【讨论】:
【参考方案2】:试试下面的代码:
var PictureArray = [UIImage(named: "s1") , UIImage(named: "s2"), UIImage(named: "s3"), UIImage(named: "s4"), UIImage(named: "s5") ]
var cpArray:[[UIImage]] = []
cpArray.append(PictureArray as! [UIImage])
这里 cpArray 在第 0 个索引中包含 PictureArray。
You can access 1st image of pictureArray using cpArray[0][0]
【讨论】:
【参考方案3】:UIImage(named : "Image Name")
总是返回一个optional UIImage
。
var PictureArray = [UIImage(named: "s1") , UIImage(named: "s2"), UIImage(named: "s3"), UIImage(named: "s4"), UIImage(named: "s5") ]
显然PictureArray
数组属于[UIImage?]
或Array<UIImage?>
这种类型
您正在尝试插入数组以复制数组,从错误消息中可以清楚地假定这是[UIImage]
显然[UIImage] != [UIImage?]
这就是你得到错误的原因。
你可以用高阶方法来做
PictureArray = PictureArray.map$0 as? UIImage
copyArray.append(PictureArray)
或者如果您想使用幼稚的类型编码,请在 PictureArray
内循环播放
for case let image in PictureArray
if image != nil
copyArray.append(image)
【讨论】:
以上是关于如何将数组复制到 UIImages 到另一个数组中?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 xCode 中保存 UIimages 数组(swift)