Ios 带swift的布尔
这真令人困惑。有人有什么想法吗Ios 带swift的布尔,ios,swift,Ios,Swift,这真令人困惑。有人有什么想法吗 let viewHasMovedToRight == false //initially I want this to be false 然后 如果调用,则只调用第一个。 我无法将该值重新分配回true 现在使用swift在Obj-C上如此简单的事情是如此令人沮丧…让viewHasMovedToRight=false而不是让viewHasMovedToRight==false 编辑:看起来您在设置布尔值的任何地方都使用了=而不是= @George, 您应该使用s
let viewHasMovedToRight == false //initially I want this to be false
然后
如果调用,则只调用第一个。
我无法将该值重新分配回true
现在使用swift在Obj-C上如此简单的事情是如此令人沮丧…让viewHasMovedToRight=false
而不是让viewHasMovedToRight==false
编辑:看起来您在设置布尔值的任何地方都使用了=
而不是=
@George,
您应该使用set运算符
let viewHasMovedToRight = false
非比较运算符
let viewHasMovedToRight == false
你有两个问题
第一,您使用的是==
(用于测试相等性),而您应该使用=
(用于赋值)。第二,您正在声明一个常量,然后稍后尝试为其分配一个新值。您需要声明一个变量
var viewHasMovedToRight = false
...
viewHasMovedToRight = true
此外,大多数人会发现这种情况更容易理解:
if !viewHasMovedToRight {
如果您将if
子句的顺序颠倒,则会更简单:
if viewHasMovedToRight {
viewHasMovedToRight = false
...
} else {
viewHasMovedToRight = true
...
}
我是新手。
我过去总是犯这个错误,用=表示赋值和比较。
使用=分配和==比较当我这样做时,我得到的错误不能分配到'self'@GeorgeAsda中的“”,使用=
设置Bool
。使用==
测试Bool
的状态。如果要处理常量,请使用let
,如果变量的值可以更改(显然是这样),请使用var
。
if viewHasMovedToRight {
viewHasMovedToRight = false
...
} else {
viewHasMovedToRight = true
...
}