【发布时间】:2019-04-23 19:30:40
【问题描述】:
在 lldb 中将布尔值更改为 false 后,它仍在评估为 true。这是一个简化版本。
=> 是一个断点
func getCount(actionWasSuccessful successful: Bool) -> Int {
=> var count = 0
// (lldb) po successful (returns true)
// (lldb) exp successful = false
// (lldb) po successful (returns false)
if successful {
=> count += 1 // breakpoint stops here
} else {
=> count = 0 // breakpoint should stop here
}
return count
}
let count = getCount(successful: true)
print(count) // returns 1
【问题讨论】:
-
你可能需要睡觉;你传递的是真的:
let count = getCount(successful: true)如果你写它会返回什么:let count = getCount(successful: false)? -
@ThomasHaz,如果通过了
false,它返回 0,正如预期的那样。但是,如果我将successful更改为 true,而我在我的问题中将其更改为false,那也是不正确的。