[英]What exactly does bool parameter do in animateWithDuration:animations:completion:
[英]What does the ^ operator do to a BOOL?
這句話是什么意思?
isChecked = isChecked ^ 1;
isChecked
是一個BOOL
。
“^”是異或運算,因此0翻轉為1,1翻轉為零。 結果應與isChecked = !isChecked
相同。
它將XOR與1檢查,所以我認為是真的^ 1 = 0(假)和假^ 1 = 1(真)
它只翻轉BOOL
的最后一點。 不是邏輯否定的可靠方法。 如果某人足夠瘋狂將BOOL
變量設置為某個數字,例如5.然后執行^ 1
只會將值的最后一位翻轉為4,仍然會將其評估為YES
。
如果你想在邏輯上否定,請使用!
而不是運營商
^
是獨家或運營商。
在您的例子是用於創建切換- isChecked
將設置只有isChecked
以前未設置。
這是按位XOR運算符,將0更改為1,將1更改為0。 看到所有的opertors 在這里 。
“^”稱為異或或異或運算。 在這種情況下,它會將布爾值從true更改為false,反之亦然。
要了解更多信息,請查看此鏈接
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.