以下针对Swift中的循环语法有什么问题?

时间:2014-10-16 08:02:24

标签: ios for-loop swift

为什么即使在我从Apple's documentation复制代码后,它仍然在for循环中显示错误?

这里有问题。enter image description here


编辑:添加代码
这是我在该类中的完整代码

import UIKit
import Alamofire

import Foundation
import SystemConfiguration

class SignUpViewController2: UIViewController
{
    for let index = 0; index < 3; ++index
    {
        println("index is \(index)")
    }

    for let i = 0; i < 3; i++
    {
        print("HI")
    }

    override func viewDidLoad()
    {
        super.viewDidLoad()

        if Reachability.isConnectedToNetwork()
        {
            println("YES")
        }
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

以下是全班错误的图像

enter image description here

1 个答案:

答案 0 :(得分:3)

for var index = 0; index < 3; ++index
{
    println("hi")
}

这适合我在操场上。

由于没有更大的代码可用,我只能猜测,但一个可能的问题可能是你在swift文件中尝试这个。在这种情况下,请确保循环位于函数中,而不是在类定义中。我试过了,它给了我相同的错误但是当移动到任何函数内时错误消失了

编辑: -

我看到你已经在Class定义中添加了代码,而不是在任何特定的函数中。请修改代码如下: -

class SignUpViewController2: UIViewController
{
    func forLoops()
    {
        for var index = 0; index < 3; ++index
        {
            println("index is \(index)")
        }

        for var i = 0; i < 3; i++
        {
            print("HI")
        }
    }

    override func viewDidLoad()
    {
        super.viewDidLoad()

        if Reachability.isConnectedToNetwork()
        {
            println("YES")
        }
        forLoops()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

这将立即生效。您必须将所有循环和可执行语句放在函数中。仅在类定义中包含属性声明/定义和函数。

希望这会有所帮助。

EDIT2: - 问题2是你用常量而不是变量编写了你的​​for循环。请更改

for let index = 0; index < 3; ++index
{
    println("index is \(index)")
}

for var index = 0; index < 3; ++index
{
    println("index is \(index)")
}

您无法更改常量的值,这就是它在增量运算符中出现问题的原因。