【发布时间】:2016-04-21 00:24:42
【问题描述】:
我有一个 NSURL 数组,我可以使用函数 removeAtIndex 和 insert。我知道fromIndexPath 和toIndexPath,这个方法可以帮助我使用这个Delegate 方法为[[NSURL]] 完成同样的事情(检查下面的var data):
func moveDataItem(fromIndexPath : NSIndexPath, toIndexPath: NSIndexPath) {
let name = self.data[fromIndexPath.section][fromIndexPath.item]
self.data[fromIndexPath.section].removeAtIndex(fromIndexPath.item)
self.data[toIndexPath.section].insert(name, atIndex: toIndexPath.item)
// do same for UIImage array
}
但是,我有一个 UIImage 数组,其中包含 3 个正在运行的空元素。
var newImages = [UIImage?]()
viewDidLoad() {
newImages.append(nil)
newImages.append(nil)
newImages.append(nil)
}
我的问题是如何在moveDataItem() 和data 中使用newImages 数组,并能够运行这些行来重新排列UIImage 数组的顺序。
我尝试了这些,但不幸的是我无法让它们工作..
self.newImages[fromIndexPath.section].removeAtIndex(fromIndexPath.item)
// and
self.newImages[fromIndexPath.row].removeAtIndex(fromIndexPath.item)
为了澄清,数据数组看起来像这样
lazy var data : [[NSURL]] = {
var array = [[NSURL]]()
let images = self.imageURLsArray
if array.count == 0 {
var index = 0
var section = 0
for image in images {
if array.count <= section {
array.append([NSURL]())
}
array[section].append(image)
index += 1
}
}
return array
}()
【问题讨论】:
-
所以您想要一种通常围绕二维数组移动的方法?
-
是的,我想在
moveDataItem()中为data做同样的事情,也为UIImage array做同样的事情。
标签: ios arrays swift nsindexpath