数组不附加图像

时间:2016-09-06 08:29:30

标签: ios arrays swift

我正在尝试将图像附加到2D维数组。这就是我现在正在做的事情:

<img src="{{picture}}">

<button ng-click="changePicture(1)">Next</button>
<button ng-click="changePicture(-1)">Previous</button>

我们可以假设循环和自定义函数正在运行。 (请注意我在代码中的注释:图像名称已正确打印出来。)

我已尝试过其他方法将新图像附加到数组,例如var imgArr1: [UIImage] = [] var imgArr2: [UIImage] = [] var allArrays = [imgArr1, imgArr2] for array in 0 ..< allArrays.count { for i in categories { //list of folder names used below for img in fileNames("path/to/my/images/i") { //fileNames() returns all the files' names it finds in the folders print(img) //this does print out the correct file names, for instance: "img_1.jpg" allArrays[array].append(UIImage(named: img)) } } } print(imgArr1) //this prints: "[]"` 并使用insert at index

任何想法?
提前谢谢!

1 个答案:

答案 0 :(得分:2)

for var array in allArrays

制作数组的可变副本。附加到它不会改变原始数组,因为数组是值类型。您必须直接将图片添加到imgArr1(或imgArr2或两者)才能实现此目的。

编辑:作为如何执行此操作的示例,您可以循环遍历外部数组的索引并使用下标修改内部数组:

var all: [[Int]] = [[], [], []]

for arrayIndex in 0 ..< all.count {
    for number in 0 ..< 10 {
        all[arrayIndex].append(number)
    }
}

print(all.first!.count) // 10