gpt4 book ai didi

arrays - 如何从 Swift ArraySlice 中获取第 i 个元素?

转载 作者:行者123 更新时间:2023-11-28 09:34:22 27 4
gpt4 key购买 nike

下面我试图获取 ArraySlice draggignFan 的第 i 个元素。代码构建良好(没有警告)但程序在运行时死于我尝试像普通数组一样索引切片的行:

var draggingFan : ArraySlice<Card>?
...

if let draggingFan = draggingFan {
for i in 1 ..< draggingFan.count {
let card = draggingFan[i] // EXECUTION ERROR HERE
...
}
}

根据 the docs有一个 firstlast 方法(我在别处使用它没有问题)。那么如何在 Swift 中索引一个 ArraySlice 呢? (注意:我有意跳过切片中的第 0 个索引——其他地方需要它)。

最佳答案

ArraySlice 的索引仍然与原始数组的索引匹配。在您的情况下,您正在访问不在您的切片中的索引 1 。如果您通过 draggingFan.startIndex 偏移索引,它将起作用:

if let draggingFan = draggingFan {
for i in 1 ..< draggingFan.count {
let card = draggingFan[draggingFan.startIndex + i]
...
}
}

或者:

if let draggingFan = draggingFan {
for i in draggingFan.startIndex + 1 ..< draggingFan.endIndex {
let card = draggingFan[i]
...
}
}

关于arrays - 如何从 Swift ArraySlice 中获取第 i 个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36457811/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com