我有一个CGPoint
s和数组数组阵列的函数。我一直在'手动'删除每个数组中的点并将它们逐个添加回去。这当然是一种乏味而低效的方法。我正在寻找一种更有效的方式来处理删除和追加到阵列点。这里是我的代码:如何从几个数组中删除一个元素并重新追加?
func setSpritePositions() {
groupA1 = [p1, p4, p6, p8]
groupA2 = [p1, p3, p2, p5]
groupB1 = [p1, p7, p2, p6]
groupB2 = [p9, p4, p3, p2]
groupB2 = [p2, p4, p5, p8]
groupC1 = [p1, p7, p2, p7]
groupC2 = [p9, p4, p3, p2]
groupC3 = [p4, p5, p6, p7]
groupC4 = [p5, p1, p3, p4]
groupA = [groupA1, groupA2]
groupB = [groupB1, groupB2, groupB3]
groupC = [groupC1, groupC2, groupC3, groupC4]
groups = [groupA, groupB, groupC]
}
例如,我会怎样去除点p1
,p3
和p7
从包含它们的阵列和注意的数组和位置追加回来。我将如何实现这一目标?正如我所说,我一直在做,这太麻烦了。
UPDATE
我使用位置的各组来限制我的游戏精灵的运动。有时候我想删除某些位置,并能够告诉哪些数组将它们追加回来。
迭代'组'。对于每个数组,迭代其数组。对于每个数组,请查看它是否包含该点。如果是这样,请删除并追加它。 – rmaddy
@rmaddy你是指通过'groups'访问所有其他数组?我正在使用所有其他数组,所以'group'中的变化本身不会影响另一个数组,因为swift数组是值类型。我正在考虑使用'NSArray's,但要操纵它们以获得特定结果将非常非常困难。 – OnlyCodeMatters
“,然后将这些位置追加回来”你真的要在这里追加(如在数组末尾),还是你的意思是“有时候p1是活动的,有时不是。“我假设后者,并且如果p1对于一个组是无效的,那么对于所有组是不活动的 –