1
我有一个数组,其中包含UIViews(单元格),该数组开头为空。我定当一个功能是通过不同的阵列循环发射它的值:当我将一个元素插入数组时,数组索引超出范围
cells = [cell0, cell1, cell2, cell3, cell4]
// Code in function ↓
var cellAnimationArray: [NPFCarouselCell] = []
for cell in self.cells {
if cell.frame == farLeftFrame {
cellAnimationArray.insert(cell, at: 0)
} else if cell.frame == leftFrame {
cellAnimationArray.insert(cell, at: 1)
} else if cell.frame == centerFrame {
cellAnimationArray.insert(cell, at: 2)
} else if cell.frame == rightFrame {
cellAnimationArray.insert(cell, at: 3)
} else if cell.frame == farRightFrame {
cellAnimationArray.insert(cell, at: 4)
} else {
print("Frame does not exist!")
print(cell.frame)
return
}
当我站上罚球线cellAnimationArray.insert(cell, at: 4)
,应用程序崩溃与:
fatal error: Array index out of range
为什么我会得到一个彻头彻尾的索引错误,当我插入一个项目到数组中?
@tktsubota。我使用数组的方式我必须知道哪个元素是在哪里。这就是为什么我使用插入。 –
您可以'在索引4处插入空数组。它将如何知道如何填充0 ... 3? – Alexander
@AlexanderMomchliov。问题是,例如,索引3未分配,因此索引4不存在? –