ios - 阵列不附加图像

标签 ios arrays swift

我正在尝试将图像附加到二维数组。这就是我现在的做法:

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 和使用 +=

有什么想法吗?
提前致谢!

最佳答案

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

关于ios - 阵列不附加图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39344175/

相关文章:

ios - 如何防止 UITableView 在移动行时滚动

ios - 取决于互联网连接显示 ViewController iOS

node.js - 如何在不使用 unwind 的情况下使用 mongodb 中的数组元素对数据进行排序

swift - 如何在 Swift 中将 NSDictionary 转换为包含 NSDictionary json 的 NSString?

xcode - 在不同的导航堆栈中展开到 viewController 不起作用

Swift:当键盘出现时,UIView 改变了大小

ios - 渐变颜色随内容 View 的高度变化

ios - 快速转换日期而不会丢失

Java Map vs Array(Temp)排序的最后一个索引

C++ 列表显示表中的最后 3 个项目