什么是a = b == c意味着在swift中

时间:2017-04-04 06:54:54

标签: ios swift

我遇到了以下代码,无法弄清楚到底发生了什么。我在操场上尝试过它们并能够操作输出但需要帮助来理解代码

myButton.isHidden = view.getButtonVisibleState() == false

3 个答案:

答案 0 :(得分:6)

赋值运算符(=):用于将值赋给左侧变量。

等于运算符(==):用于比较两个变量。

因此a = b == c表示

首先比较b& c,如果它们相等则返回 true ,否则返回 false 到a。这就是a赋值的方式。

因此,对于您的问题myButton.isHidden = myView.getButtonVisibleState() == false

您将myButton.isHidden的值指定为true或false。

因此编译器首先检查myView.getButtonVisibleState()是否不可见,然后语句myView.getButtonVisibleState() == false变为 true 并分配myButton.isHidden = true

其他myButton.isHidden = false

答案 1 :(得分:2)

相当于伪代码:

INT_SK_20170405.txt

使用测试的布尔值并直接将其分配给变量以缩短代码。

答案 2 :(得分:2)

我假设您知道分配=)与关系相等==)之间的区别。

现在是时候拿出运算符优先级表的副本了。在插入多余的括号时,您的语句变为

myButton.isHidden = (view.getButtonVisibleState() == false)

因此,如果myButton.isHiddentrue,您可以看到它将view.getButtonVisibleState()设置为false,反之亦然。

换句话说,它是一个简单的切换,

myButton.isHidden = !view.getButtonVisibleState()

可能更清楚。