a = b == c是什么意思在迅速
我遇到了下面的代码,无法弄清楚到底发生了什么。我想他们在操场上和能够操纵输出,但需要帮助理解的代码相当于a = b == c是什么意思在迅速
myButton.isHidden = view.getButtonVisibleState() == false
赋值运算符(=):它用于赋值给左侧变量。
等于运算符(==):它用于比较两个变量。
所以对于a = b == c
意味着
首先比较B & C,如果它们相等,则返回真到c否则返回假到c。多数民众赞成在C如何分配的价值。
因此,对于你的问题myButton.isHidden = myView.getButtonVisibleState() == false
你分配值到myButton.isHidden为真或假。
所以编译器首先检查是否myView.getButtonVisibleState()
是不可见的,则声明myView.getButtonVisibleState() == false
变得真正和分配myButton.isHidden = true
其他myButton.isHidden = false
以伪代码:
if (view.getButtonVisibleState() == false) then
myButton.isHidden = true
else
myButton.isHidden = false
您使用测试的布尔值,并分配到直接变量来缩短代码。
我假设你知道分配之间的差额(=
)和关系等于(==
)。
是时候拿出你的运算符优先级表的副本。在将多余的括号您的发言成为
myButton.isHidden = (view.getButtonVisibleState() == false)
所以你可以看到它设置myButton.isHidden
到true
如果view.getButtonVisibleState()
是false
,反之亦然。
换句话说,它是一个简单的切换,并
myButton.isHidden = !view.getButtonVisibleState()
可能更清晰。
这是整个的代码?没有,如果块或类似的包装它? – paper1111
运算符==优先于=,因此语句最终变为 - 'myButton.isHidden =(view.getButtonVisibleState()== false)'。看起来你是编程新手。我建议优先考虑先学习。 https://en.wikipedia.org/wiki/Order_of_operations。这不是Swift特有的,这只是一个简写。 –
等效于:'myButton.isHidden =!view.getButtonVisibleState()' –