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

Posted

技术标签:

【中文标题】Swift:我如何等到变量具有特定值【英文标题】:Swift: How do I wait until a variable has a certain value 【发布时间】:2017-01-17 03:42:57 【问题描述】:

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

    var i = 0

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

         while (WasItCorrect=="")

    WasItCorrect = ""
    

思路是,函数会调用pl​​aytrial,等到变量WasItCorrect有值(""除外),重置WasItCorrect,然后重复(一共10次)。

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

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

任何有关如何修复此代码的建议将不胜感激。

【问题讨论】:

【参考方案1】:

您可以使用变量的didSet 属性。每当值更改时都会调用它。

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

【讨论】:

以上是关于Swift:我如何等到变量具有特定值的主要内容,如果未能解决你的问题,请参考以下文章

如何从具有特定值的变量和数据库中获取数据以将其计入laravel上的图表

如何保存更新后与以前具有相同值的变量?

迅速,我如何才能等到收到服务器响应后再继续?

如何制作包含特定值的 Swift 字典?

如何根据查找具有特定值的实体在我的核心数据之间进行迭代

Swift - 如何等到 GPS 返回正确的坐标