我有一個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對於一個組是無效的,那麼對於所有組是不活動的 –