相关疑难解决方法(0)

swift for循环:对于索引,数组中的元素?

是否有一个函数,我可以用来迭代一个数组并同时具有索引和元素,如python的枚举?

for index, element in enumerate(list):
    ...
Run Code Online (Sandbox Code Playgroud)

arrays swift

737
推荐指数
17
解决办法
40万
查看次数

在数组上迭代时添加元素

我有一个循环,遍历数组中的每个元素。在一定条件下,我在循环内向该数组添加了另一个元素。但是,循环未考虑该新元素。如果数组中最初有6个项目,并且在循环遍历时,我又增加了2个,它仍然仅循环执行6次。我怎样才能解决这个问题?

for ingredient in ingredientList {
    if ingredient.name == "banana" {
        var orange = Ingredient(name: "orange")
        ingredientList.append(orange)
    }
    if ingredient.name == "orange" {
        // this never executes
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我的成分之一是香蕉,请在列表中添加橙色。但是,循环甚至不会考虑新添加的元素。我怎样才能完成这样的事情?为什么不起作用?

arrays loops swift

5
推荐指数
1
解决办法
2327
查看次数

快速显示动态范围的循环

...或者如何在for循环条件中使用索引

大家好,因为我们在Swift 3中没有使用c风格的循环,所以我似乎找不到找到一种方式来表达更复杂的循环,因此也许您可以帮帮我。

如果我要写这个

for(int i=5; num/i > 0; i*=5)
Run Code Online (Sandbox Code Playgroud)

快速3我该怎么做?

我关闭的时间是:

for i in stride(from: 5, through: num, by: 5) where num/i > 0 
Run Code Online (Sandbox Code Playgroud)

但这当然会一次迭代5个块,如果我是:5、25、125等。

有任何想法吗?

谢谢

iteration for-loop swift swift3

4
推荐指数
1
解决办法
837
查看次数

Swift中的i + = 2 for循环怎么样?

例如,Java for循环:

for(int i=0; i<5; i+=1){
   //
}
Run Code Online (Sandbox Code Playgroud)

转换为Swift

for index in 0..<5 {
}
Run Code Online (Sandbox Code Playgroud)

但如果i+=2呢?

我是Swift的新手..也许这是一个愚蠢的问题,但如果你回答它会很感激,谢谢!:-)

for-loop swift

1
推荐指数
1
解决办法
542
查看次数

你能告诉 for 循环有条件地前进不止一步吗?

考虑以下代码:

let value = "ABCDE"

for letter in value {
    print(letter)
}
Run Code Online (Sandbox Code Playgroud)

这打印:

A
B
C
D
E
Run Code Online (Sandbox Code Playgroud)

现在考虑假设的代码,当它找到“2”时,它会在循环中向前跳过 2。这是显示我要问的内容的伪代码......

let value = "AB2DE"

for letter in value {

    if letter == "2" {
        continue 2 <-- Does Swift support something similar to this?
    }

    print(letter)
}
Run Code Online (Sandbox Code Playgroud)

上面的输出看起来像这样:

A
B
E
Run Code Online (Sandbox Code Playgroud)

注意:当然,我可以通过管理跳过计数器轻松实现此目的,然后使用continue,在进行时递减计数器,或者,如果源支持下标,正如其他人建议的那样,我可以使用循环while来管理自己的索引。有多种方法可以解决这个假设的问题,但这不是我问题的目的。

我的问题是专门查明该语言是否原生支持一次跳过 for 循环的多次迭代(例如类似continueManyor的东西continue x)。

for-loop continue swift swift4

1
推荐指数
1
解决办法
439
查看次数

标签 统计

swift ×5

for-loop ×3

arrays ×2

continue ×1

iteration ×1

loops ×1

swift3 ×1

swift4 ×1