0
我有,我想翻转布尔值没有做这样的程序:翻转布尔值
@property (nonatomic, assign) BOOL *boolValue;
if (boolValue == YES) {
boolValue = NO;
}
if (boolValue == NO) {
boolValue = YES;
}
有没有我可以用它来切换值,而不使用这样的方法?
我有,我想翻转布尔值没有做这样的程序:翻转布尔值
@property (nonatomic, assign) BOOL *boolValue;
if (boolValue == YES) {
boolValue = NO;
}
if (boolValue == NO) {
boolValue = YES;
}
有没有我可以用它来切换值,而不使用这样的方法?
这里有几个错误。
BOOL *
,使它只是一个BOOL
。BOOL
值直接对YES
或NO
。切换BOOL
由boolValue = !boolValue;
完成。您的代码就变成了:
@property (nonatomic, assign) BOOL boolValue;
boolValue = !boolValue; // "flip" the BOOL value
顺便说一句 - 对于点#2你应该写这样if
声明是这样的:
if (boolValue) { // is it YES?
或:
if (!boolValue) { // is it NO?
但无论是需要翻转价值。
好的谢谢:) – av993
[相关](http://stackoverflow.com/questions/541289/objective-c-bool-vs-bool);看起来像你可以只是'boolValue^= 1'。 – Kenney
肯尼有正确的想法。至少,对于第二条语句,你可以使用'else'。 – brandaemon