Swift:如何等到变量具有特定值

时间:2017-01-17 03:42:58

标签: swift swift3

我正在尝试编写等待变量等于某个值的代码。这是我写的代码:

    var i = 0

    for i in 1...10 {
        playtrial()
        repeat {

        } while (WasItCorrect=="")

    WasItCorrect = ""
    }

这个想法是函数会调用pl​​aytrial,等到变量WasItCorrect有一个值(""除外),重置WasItCorrect,然后重复(总共10次)。 / p>

代码不会产生错误。然而,在完成plastral之后,程序似乎停止响应并且不允许任何新的输入/按钮按下。

我认为问题是我的repeat / while循环永远存在并且永远不会发生任何其他事情,因此其他更改WasItCorrect值的函数无法运行。作为一个刚开始学习Swift的VisualBasic 6程序员,我猜我需要Swift版本的DoEvents。这是真的吗?

非常感谢任何有关如何修复此代码的建议。

1 个答案:

答案 0 :(得分:2)

您可以使用变量的didSet属性。只要值发生变化,就会调用它。

var i = 0 {
    didSet {
        print("Hello World.")
        if i == certainValue {
         // do something
        }
    }
}