我有一个程序,我想在不执行此操作的情况下翻转BOOL值:
@property (nonatomic, assign) BOOL *boolValue;
if (boolValue == YES) {
boolValue = NO;
}
if (boolValue == NO) {
boolValue = YES;
}
我是否可以使用一种方法来切换值而不使用这种方式?
答案 0 :(得分:3)
你有几件事情错了。
BOOL *
,只需BOOL
。BOOL
或YES
检查NO
值。BOOL
由boolValue = !boolValue;
完成。您的代码变为:
@property (nonatomic, assign) BOOL boolValue;
boolValue = !boolValue; // "flip" the BOOL value
BTW - 对于第2点,你应该写下这样的if
语句:
if (boolValue) { // is it YES?
或:
if (!boolValue) { // is it NO?
但两者都不需要翻转价值。