奇怪的行为在if /和使用swift的iOS语句
问题描述:
我不能简单地理解这是怎么发生的,必须误解一些基本的swift语法。正如你在我的图像上看到的,调试器进入if语句(绿线),但“strd”和“elementName”不一样。这怎么会发生?它始终在发生。据我所知,在swift中比较字符串时应该使用'=='。奇怪的行为在if /和使用swift的iOS语句
编辑: 解决方案nimit提出确实acually工作,但它不回答我的问题。我做错了什么,以及如何避免在这种情况下出现这种错误?
答
其工作的罚款,如果我们把静态字符串
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'实际上解决了我的问题('let'did not work)。这是为什么?这似乎不是一个典型的行为,而是像一个bug ... – Zeezer 2014-11-04 12:28:25
http://stackoverflow.com/questions/24002092/what-is-the-difference-between-let-and-var-in-swift你可以检查在这个链接中回答。据了解,你的问题解决了? – Nirmalsinh 2014-11-04 12:37:04
我知道'let'和'var'之间的区别,这就是为什么只有'var'起作用才如此奇怪。即使它现在起作用,我仍然想要解释我做错了什么? – Zeezer 2014-11-04 13:10:20