let enabled = disable ? false : true
我不是LLVM专家,但对于这种行为一点也不感到惊讶,除非优化设置为Onone
,否则它应该让你的代码保持原样。毕竟,中间变量只是要被优化掉。
debug
配置(带有Onone
)是默认的,但并非必需。 - Andreas遇到同样的问题,使用了正确的添加代码,例如print(theBoolValue)
。
但是当在Swift命令行中使用p
,或者仅在调试堆栈中检查该值时,该值变为<invalid>(Oxfe)
。
Bool
的唯一有效值为0x01
(true
)和0x00
(false
)。 - AlexanderadFreeButton.isEnabled = !PurchaseState.isAdfree
。 - Alexander