当我在PlayGround中使用for循环时,一切正常,直到我将for循环的第一个参数更改为最高值.(按降序迭代)

这是虫子吗?其他人有吗?

for index in 510..509
{
    var a = 10
}

显示将要执行的迭代次数的计数器一直在滴答作响.

在此处输入图像描述

推荐答案

Xcode6beta 4添加了两个函数,以便使用一个步骤而不是一个步骤迭代范围: stride(from: to: by:)与独占范围一起使用,stride(from: through: by:)与包含范围一起使用.

要按相反顺序迭代范围,可以使用它们,如下所示:

for index in stride(from: 5, to: 1, by: -1) {
    print(index)
}
//prints 5, 4, 3, 2

for index in stride(from: 5, through: 1, by: -1) {
    print(index)
}
//prints 5, 4, 3, 2, 1

请注意,这两个函数都不是Range个成员的函数.它们是返回StrideToStrideThrough struct 的全局函数,这两个 struct 的定义与Range struct 不同.

这个答案的前一个版本使用了Range struct 的by()个成员函数,该函数在测试版4中已被删除.如果您想了解它是如何工作的,请查看编辑历史记录.

Ios相关问答推荐

preferredCompactColumn作为NavigationSplitViewColumn.sidebar传递,但仍能在iOS上看到详细信息页面

在金属中设置纹理的UV坐标以编程方式变形纹理

IOS-获取本地化系统映像

为什么AVSpeechSynthesizer复制的信息比我的文本多?

Xcode 15中的版本控制发生了什么?

Apple Metal iOS 为什么 GLKMatrix4MakeLookAt 来回摇摆

ionic 4 - 编译 ios - 来自项目Pods的目标GoogleDataTransport中的问题

ITMS-90432:将应用上传到应用store 时出现问题

实现 ListView Builder Widget Flutter 后退按钮不起作用

UIView 阴影不适用于自定义扩展

为什么这个 SwiftUI 状态在作为非绑定参数传递时没有更新?

在我的 M1 上出现 Architecture arm64 问题,因此我无法运行我的旧项目

iOS 8 - 使用自定义演示关闭视图控制器后屏幕空白

iOS:应用程序在安装应用程序时未征求用户许可.每次都获得 kCLAuthorizationStatusNotDetermined - Objective-c & Swift

在 Xcode 4 中将静态库链接到 iOS 项目

Xcode 4.2 如何将一个项目包含到另一个项目中?

CoreBluetooth 应用程序到底能在后台做什么?

如果我的分发证书过期会怎样?

在 NSUserDefaults 中存储值是否有任何限制?

找不到开发者磁盘映像