gpt4 book ai didi

swift - 还有另一种方法可以快速处理范围运算符中的异常吗?

转载 作者:行者123 更新时间:2023-11-30 13:30:20 24 4
gpt4 key购买 nike

我对 Swift 还很陌生,所以请耐心等待:)

如果在下面的代码中会怎样

for i in (1...(self.count - 1)) { //(self.count is number of elements in Array Extension)
print(i)
}

self.count 变为 1。

嗯..我总是可以像下面这样工作

if self.count > 1
{
for i in (1...(self.count - 1)) {
print(i)
}
}
else
{
for i in ((self.count - 1)...1) {
print(i)
}
}

但是还有另一种(可能更好)的方法来处理这个问题吗?

其中我不必使用 if-else 控制语句

PS:- 正如评论中所建议的,我也使用过

for i in [(1...(self.count - 1))]
{
print(i)
}

但当 self.count = 1 时仍然崩溃

最佳答案

要迭代所有数组索引,请使用 ..<范围运算符省略上限:

for i in 0 ..< array.count { }

或更好:

for i in array.indices { }

后者的优点是它也适用于具有不从零开始的索引(例如 ArraySlice )。

迭代除第一个索引之外的所有索引,

for i in array.indices.dropFirst() { }

适用于所有情况,即使数组为空。您还应该检查如果您确实需要索引,或者您确实想迭代数组元素,例如

for elem in array.dropFirst() { }

关于swift - 还有另一种方法可以快速处理范围运算符中的异常吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36638848/

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