如何将数组复制到 UIImages 到另一个数组?
How to copy the array to UIImages into another array?
我正在尝试更改每个 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)
错误是
Value of optional type 'UIImage?' must be unwrapped to a value of type 'UIImage'
试试下面的代码:
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]
试试这个:
var PictureArray = [UIImage(named: "s1") , UIImage(named: "s2"), UIImage(named: "s3"), UIImage(named: "s4"), UIImage(named: "s5") ]
let arrCopy = pictures.map{[=10=]}
UIImage(named : "Image Name")
总是 return 一个 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{[=11=] as? UIImage}
copyArray.append(PictureArray)
或者,如果您想使用幼稚的类型编码,请在 PictureArray
中播放一个循环
for case let image in PictureArray {
if image != nil {
copyArray.append(image)
}
}
我正在尝试更改每个 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)
错误是
Value of optional type 'UIImage?' must be unwrapped to a value of type 'UIImage'
试试下面的代码:
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]
试试这个:
var PictureArray = [UIImage(named: "s1") , UIImage(named: "s2"), UIImage(named: "s3"), UIImage(named: "s4"), UIImage(named: "s5") ]
let arrCopy = pictures.map{[=10=]}
UIImage(named : "Image Name")
总是 return 一个 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{[=11=] as? UIImage}
copyArray.append(PictureArray)
或者,如果您想使用幼稚的类型编码,请在 PictureArray
for case let image in PictureArray {
if image != nil {
copyArray.append(image)
}
}