我不能简单地理解这是怎么发生的,一定是误解了一些基本的 swift 语法。正如您在我的图像中看到的那样,调试器步入 if 语句(绿线),但“strd”和“elementName”并不相同。这怎么会发生?它一直在发生。据我了解,在 swift 中比较字符串时应该使用“==”。
编辑: nimit 提出的解决方案确实有效,但它没有回答我的问题。我做错了什么,以后如何避免出现此错误?
最佳答案
如果我们放入静态字符串,它工作正常
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 存储到其中并尝试。
关于ios - if/and 语句中使用 swift for iOS 的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26734721/