In this line of code I am reversing a BOOL
value:
someObject.boolValue = ![someObject boolValue];
How can I rewrite this line in "pure" Objective-C syntax, without dot syntax?
In this line of code I am reversing a BOOL
value:
someObject.boolValue = ![someObject boolValue];
How can I rewrite this line in "pure" Objective-C syntax, without dot syntax?
Always use NSNumber to avoid your BOOL getting a non-boolean (greater than one) value set to it.
NSNumber * currValue = [NSNumber numberWithBOOL:[someObject boolValue]];
NSNumber * yesNum = [NSNumber numberWithBOOL:YES];
NSNumber * noNum = [NSNumber numberWithBOOL:NO];
if( NSOrderedSame == [currValue compare:yesNum] ){
[someObject setBoolValue:[noNum boolValue]];
}
else if( NSOrderedSame == [currValue compare:noNum] ){
[someObject setBoolValue:[yesNum boolValue]];
}
else {
// Set default
[someObject setBoolValue:[yesNum boolValue]];
}