使用 indexPath 访问数组内的 UIImage 并创建空的 UIImage 数组元素
Posted
技术标签:
【中文标题】使用 indexPath 访问数组内的 UIImage 并创建空的 UIImage 数组元素【英文标题】:Accessing UIImage inside Array with indexPath & Creating Empty UIImage Array Element 【发布时间】:2016-04-20 23:00:26 【问题描述】:我有一组 UIImages。我想用 3 个空的空数组元素(UIImage)创建它
var newImages = [UIImage]()
第一个问题:我怎样才能得到这样的结果?
let newImages = [emptyUIImage,emptyUIImage,emptyUIImage]
或者有没有办法为 UIImage 数组存储空数组元素,就像我这样存储的那样,为 NSURL 数组存储空 NSURL?
if data.count != 3
let emptyURL = NSURL(string: "")
data.append(emptyURL!)
【问题讨论】:
【参考方案1】:您可以创建具有固定数量元素的任何类型的数组,然后使用array[i] = value
设置数组中i
th 索引的值
//instead of passing 10 you could pass, for example, array.count
var images = [UIImage](count: 10, repeatedValue: nil)
images[0] = //someImage
images[3] = //someImage
images[1] = //someImage
或者,您可以使您的数组成为这样的可选 UIImage 数组...
var newImages = [UIImage?]()
然后在有空图像的地方追加 nil ...
newImages.append(nil)
【讨论】:
谢谢,有没有办法让我分配一个 nil 值,它会像[ , , uiimage]
一样打印?另外,您是否知道如何访问它,就像我在 moveDataItem() 中为 data
所做的那样?如何使self.newImages[fromIndexPath.section].removeAtIndex(fromIndexPath.item)
工作?
更新了解决第一个问题的答案。至于使这项工作,看起来您正在访问一个数组索引,然后在该索引上调用removeAtIndex(_:Int)
?如果你做了self.data.removeAtIndex(fromIndexPath.item)
,它会起作用,假设data
是一个数组,fromIndexPath.item
是一个Int
非常感谢问题的第一部分!我该如何处理第二部分?有没有办法在为我的 UIImage 数组重新排序数组元素时实现相同的过程?
你的意思是不重新排序数组元素吗?或者你的意思是你说的那样?您可能想提出另一个问题
这个函数帮助我完成的是,当我通过拖动视图对 collectionViewCells 重新排序时,这个函数可以帮助我跟踪数组中的重新排列。因此,在每次运行此函数中的所有内容后,如果我将 print(self.data) 放在函数的末尾,它会打印数组的新顺序。所以我认为我需要对 UIImages 数组做同样的事情。根据您的回答,我创建了具有 3 个空元素的 UIImage 数组。如果用户上传图像,UIImage 数组会根据索引填充。但是,如果单元格重新排列...以上是关于使用 indexPath 访问数组内的 UIImage 并创建空的 UIImage 数组元素的主要内容,如果未能解决你的问题,请参考以下文章
ScrollTo indexPath 在 Collection View Cell 内的 Collection View (Nested CollectionView)
如何将 indexPath 数组拆分为单独的 indexPath 数组,每个数组的 indexPath 具有相同的 indexPath.section