美文网首页100 Days of SwiftUI
100 Days of SwiftUI - Day 4 循环

100 Days of SwiftUI - Day 4 循环

作者: 星星星宇 | 来源:发表于2020-09-15 14:49 被阅读0次

循环是使计算机变得出色的原因之一:每秒可以重复执行数十亿次简单任务的能力。
硬件使机器快速运行,软件使机器快速运行变慢。 ——克雷格·布鲁斯。

1.For 循环

Swift中最常见的循环是一个for循环:它将遍历数组和范围,并且每次循环都将拉出一项并分配给一个常量。

let names = ["Sterling", "Cyril", "Lana", "Ray", "Pam"]
for _ in names {
    print("[CENSORED] is a secret agent!")
}

当没有使用循环变量时,可以用_代替。

2.While 循环

while:给它提供条件检查,其循环代码将一直循环直到条件失败。

什么时候该使用for 或者 while?

for 常跟有限序列一起使用,比如遍历1到10
while循环可以循环直到条件变为假。
这意味着我们可以重复执行相同的代码,直到
1.用户要求我们停止。
2.服务器要求我们停止。
3.找到了想要的答案。
4.产生了足够的数据。

while可以一直循环,直到我们退出。

3.Repeat 循环

var a = 0
repeat {
    print(a)
    a += 1
} while a < 20

repeat 循环至少执行一次,因为条件在循环末尾。

Repeat 和 While该如何选择?

假设我们对数组重新随机排列。

let numbers = [1, 2, 3, 4, 5]
let random = numbers.shuffled()

如果要确保random 和 numbers不一样,我们要检查是否和原数组相同,如果匹配再次进行排列。
使用while,我们可以这样写。

let numbers = [1, 2, 3, 4, 5]
var random = numbers.shuffled()

while random == numbers {
    random = numbers.shuffled()
}

如果使用repeat,我们可以这样写。

let numbers = [1, 2, 3, 4, 5]
var random: [Int]

repeat {
    random = numbers.shuffled()
} while random == numbers

两种区别在于 shuffled()函数,在repeat中只调用了一次,简单的代码看起来不是问题,但是如果是5行代码或者更多呢。

4.退出循环

提前结束循环时,你可以用break立即退出。

var countDown = 10

while countDown >= 0 {
    print(countDown)

    if countDown == 4 {
        print("I'm bored. Let's go now!")
        break
    }
    countDown -= 1
}

print("Blast off!")

5.退出多层循环

要退出外部循环,先给外部循环打个标签,然后在内部循环中,添加条件同时退出两个循环。

outloop: for i in 0...10 {
    for j in 0...10 {
        if i+j == 10 {
            break outloop
        }
    }
}

6.跳过当前循环

continue

7.无限循环

while true
iphone 上的所有应用都使用无限循环,程序可以保持一直运行,直到关闭为止,循环结束可以使用清理代码。

8.总计

1.循环使我们重复代码,直到条件为假。
2.常用的for给每个循环的每个项目非配一个临时常数,不需要时可以用_
3.while循环可以提供一个明确的检查条件。
4.repeat主体至少运行一次。
5.break退出循环,嵌套循环,break加上外部循环的标签。
6.continue跳过循环项目。
7.无限循环使用 while true.

相关文章

  • 100 Days of SwiftUI - Day 4 循环

    循环是使计算机变得出色的原因之一:每秒可以重复执行数十亿次简单任务的能力。硬件使机器快速运行,软件使机器快速运行变...

  • 100 Days of SwiftUI —— Day 4

    循环是使计算机如此出色的原因之一:每秒可以重复执行数十亿次简单任务的能力。 当然,这些循环的结果取决于您:您可能要...

  • 100 Days of SwiftUI —— Day 100:期

    [https://www.hackingwithswift.com/100/swiftui/100] 今天是Swi...

  • 100 Days of SwiftUI —— Day 65:In

    今天,我们将实践一些您刚刚学到的技术,包括如何创建自定义绑定,如何包装UIImagePickerControlle...

  • 100 Days of SwiftUI —— Day 67:In

    这是一个艰巨的项目,主要是因为一旦我们将UIKit的一部分引入,您还需要学习相当数量的内容。如果您是纯粹的UIKi...

  • 100 Days of SwiftUI —— Day 66:In

    现在该对我们的应用程序进行最后的修饰了,这将使用户可以尝试使用不同的 Core Image 滤镜,然后将其结果保存...

  • 100 Days of SwiftUI —— Day 63:In

    今天,我们继续研究项目的技术,并且我们开始更多地冒险进入SwiftUI不太喜欢使用的地方。今天,您将看到Core ...

  • 100 Days of SwiftUI —— Day 62:In

    这是开始研究我们如何超越SwiftUI的边界的两个项目中的第一个,以便我们可以将其连接到Apple的其他框架。Ap...

  • 100 Days of SwiftUI —— Day 64:In

    信不信由你,在进入实施阶段之前,我们仍然有一天的时间来处理这个项目,而我将最艰难的工作留到了最后。 今天,您将了解...

  • 100 Days of SwiftUI —— Day 3

    今天,我们将深入了解Swift的真实细节:运算符和条件控制。这有时会使人们在学习时绊倒,因为正如约瑟夫·坎贝尔(J...

网友评论

    本文标题:100 Days of SwiftUI - Day 4 循环

    本文链接:https://www.haomeiwen.com/subject/leoaektx.html