如何将对象从另一个数组添加到另一个数组

时间:2016-01-28 05:40:43

标签: ios arrays swift

我想要做的是循环一个图像数组(parentArray),根据它是什么样的图像将图像添加到5个不同的数组,当我添加图像时,我想从parentArray中删除该图像。香港专业教育学院尝试过此但我得到一个线程错任何想法都会有帮助。提前致谢。

代码:

var index = parentArray.count

    for i in parentArray {

        if i.Type == Kind.S && i.cState == Color.blue {
            parentArray.removeAtIndex(index)
            childArray1.append(i)

        }

2 个答案:

答案 0 :(得分:0)

索引从零开始,因此parentArray.count将访问超出范围的内存。

第二个错误是,一旦从parentArray中删除了一个元素(假设您正在访问最后一个索引),它的总大小就会减少。但是,您尝试删除的下一个元素是相同的数字,这会导致另一个数组索引问题。祝你好运。

答案 1 :(得分:0)

您的错误是因为您尝试从索引parentArray.count中删除对象,该对象将始终超出数组索引的范围。您也永远不会更改index的值。因此,每次满足if语句时,它都会尝试从索引parentArray.count中删除。

var index = 0

for i in parentArray {

    if i.Type == Kind.S && i.cState == Color.blue {
        parentArray.removeAtIndex(index)
        childArray1.append(i)
    }
    else {
        i++
    }
}