【问题标题】:Strange behaviour in if/and statement using swift for iOS使用 Swift for iOS 的 if/and 语句中的奇怪行为
【发布时间】:2014-11-04 12:05:07
【问题描述】:

我不能简单地理解这是怎么发生的,一定是误解了一些基本的 swift 语法。正如您在我的图片中看到的,调试器进入 if 语句(绿线),但“strd”和“elementName”并不相同。这怎么可能发生?它一直在发生。据我了解,在快速比较字符串时应该使用“==”。

编辑: nimit 提出的解决方案确实有效,但它没有回答我的问题。我做错了什么?如何避免在将来出现此错误?

【问题讨论】:

    标签: ios iphone swift ios8 nsxmlparser


    【解决方案1】:

    如果我们放置静态字符串,它工作正常

    var str1 : String? = "asdd"
    
    var strd = "device"
    var elementname = "major"
    
    
    if str1 != nil && strd == elementname
    {
        println("You are in if condition")
    }
    else
    {
        println("There is no condition mactched")
    }
    

    只需做一件事,接受变量并将 elementname 存储到其中并尝试。

    【讨论】:

    • 将元素名分配给“var”实际上解决了我的问题(“让”不起作用)。为什么会这样?这看起来不像是典型的行为,更像是一个错误......
    • stackoverflow.com/questions/24002092/… 您可以在此链接中查看答案。据了解,您的问题解决了吗?
    • 我知道 'let' 和 'var' 之间的区别,这就是为什么只有 'var' 有效的原因。即使它现在有效,我仍然想解释我做错了什么?
    猜你喜欢
    • 2015-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多