[英]Add Objects From One View Controller To An Array On Another View Controller
[英]add a range of objects from one array to another
當前,我們有2個數組:
fileprivate var totalDrinksArray: [CocktailModel] = []
fileprivate var currentDrinksArray: [CocktailModel] = []
我想做的是獲取totalDrinksArray
的前兩個對象,並將它們添加到currentDrinksArray
。 按下按鈕后,接下來的2種飲料將從totalDrinksArray
添加到currentDrinksArray
(總共4種飲料),依此類推。
您可以將數組“添加”在一起:
currentDrinksArray += totalDrinksArray[0...1]
應該管用。
您的問題不太清楚,但是如果您要“添加下兩個”(第3個和第4個):
currentDrinksArray += totalDrinksArray[2...3]
您可以使用Array方法func prefix(_ maxLength: Int)
,如果沒有足夠的元素,它將返回總數組的一部分(最多n個元素)或更少,並將其內容附加到當前數組中或將其插入所需的數組中指數:
currentDrinksArray.append(contentsOf: totalDrinksArray.prefix(2))
或者,如果您想將它們插入到數組的開頭:
currentDrinksArray.insert(contentsOf: totalDrinksArray.prefix(2), at: 0)
IMO最簡單的安全解決方案:
var currentIndex = 0
func addDrinks() {
if(currentIndex + 2 >= totalDrinksArray.count) {
currentDrinksArray += totalDrinksArray[currentIndex...]
}
else {
currentDrinksArray += totalDrinksArray[currentIndex..<(currentIndex + 2)]
}
currentIndex += 2
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.