Nic*_*ini 22 iphone logic objective-c
有没有办法把条件只有当两个组件中的一个返回true时返回true?
BOOL var1
BOOL var2
Run Code Online (Sandbox Code Playgroud)
短于的东西 if((var1 && !var2) || (!var1 && var2))
谢谢
Cyr*_*lle 53
由于Objective-C是C的超集,因此您只需使用C中的XOR运算符即可^
.
Ish*_*shu 45
XOR
if(!!var1 != !!var2)
{
NSLog(@"XOR condition");
}
Run Code Online (Sandbox Code Playgroud)
感叹号将变量转换为BOOL(实际转换,而不是转换)
因此,即使您的变量不是BOOL,此解决方案仍然有效.
!!(0|nil) ? 0
!!(any other number|object) ? 1
Run Code Online (Sandbox Code Playgroud)
当您想要确保只有一个变量是非零时,这非常有用.