从一个数组添加一系列对象到另一个数组

时间:2017-12-13 18:08:58

标签: ios arrays swift

目前我们有2个阵列:

  fileprivate var totalDrinksArray: [CocktailModel] = []
  fileprivate var currentDrinksArray: [CocktailModel] = []

我要做的是获取totalDrinksArray的前两个对象,并将它们添加到currentDrinksArray。按下按钮后,下一个2饮料将从totalDrinksArray添加到currentDrinksArray(总共4杯饮料),依此类推。

3 个答案:

答案 0 :(得分:0)

你可以"添加"阵列在一起:

currentDrinksArray += totalDrinksArray[0...1]

应该有用。

你的问题不太清楚,但如果你想"添加下两个" (第3和第4):

currentDrinksArray += totalDrinksArray[2...3]

答案 1 :(得分:0)

如果没有足够的元素,可以使用Array方法func prefix(_ maxLength: Int)返回整个数组的切片(最多n个元素)或更少,并将内容附加到当前数组或将其插入所需数组指数:

currentDrinksArray.append(contentsOf: totalDrinksArray.prefix(2))

或者,如果您想将它们插入数组的开头:

currentDrinksArray.insert(contentsOf: totalDrinksArray.prefix(2), at: 0)

答案 2 :(得分:0)

最简单的安全解决方案IMO:

var currentIndex = 0
func addDrinks() {
    if(currentIndex + 2 >= totalDrinksArray.count) {
        currentDrinksArray += totalDrinksArray[currentIndex...]
    }
    else {
        currentDrinksArray += totalDrinksArray[currentIndex..<(currentIndex + 2)]
    }
    currentIndex += 2
}