我遇到了下面的代碼,無法弄清楚到底發生了什麼。我想他們在操場上和能夠操縱輸出,但需要幫助理解的代碼相當於a = b == c是什麼意思在迅速
myButton.isHidden = view.getButtonVisibleState() == false
我遇到了下面的代碼,無法弄清楚到底發生了什麼。我想他們在操場上和能夠操縱輸出,但需要幫助理解的代碼相當於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()' –