The following code:
Selec All Code:
NSString *resolvedSource = oneResolved ? oneSource : otherSource; if ([self projectSourceIsPortrait:resolvedSource]) { if (oneResolved) { oneTile.landscape.source = otherSource; } else { oneTile.portrait.source = otherSource; } } else { if (oneResolved) { oneTile.portrait.source = otherSource; } else { oneTile.landscape.source = otherSource; } }
can with proper use of binary operations turn into 8 lines (down from 14):
Selec All Code:
NSString *resolvedSource = oneResolved ? oneSource : otherSource; BOOL setPortrait = oneResolved; setPortrait ^= [self projectSourceIsPortrait:resolvedSource]; if (setPortrait) { oneTile.portrait.source = otherSource; } else { oneTile.landscape.source = otherSource; }
You can of course make the setPortrait bool a one-liner too, as in
dropping you down to 7 lines of code. The XOR operator is more useful than it’s being given credit for.