我在应用中有以下代码片段。 'if'语句未正确评估。即使得分= -100且bestScore = 200,if语句如果得分< bestScore不会在其中运行代码。 bestScore保持在200.
如果我在if中添加一个print语句,它会突然开始工作。我在没有print语句的游乐场里尝试过,它运行正常。为简单起见,我用'true'替换了一些表达式。
var bestScore = 200
var score = 200
if true {
if true {
score = -100
}
}
if score < bestScore {
print("Testing") // When this wasn't here it wasn't working
bestScore = score
bestMove = move
}
我之前在Swift中看到过这种奇怪的行为,很少,但我无法找出解释何时发生这种情况的模式。这是Xcode 6.1.1(6A2008a)。
编辑:我无法再使用Xcode 6.2 beta 5重现此错误,因此我认为这已得到纠正。
答案 0 :(得分:1)
它看起来非常像我经历的事情。 虽然情况并不相同,但它确实涉及在打印语句后分配属性,如果打印语句不存在则不会发生。长话短说,这是一个错误,我向苹果发送了一份仍在调查中的报告。