Skip to content

Instantly share code, notes, and snippets.

@ikarius
Last active August 29, 2015 14:01
Show Gist options
  • Save ikarius/aa822a57a00869b9c723 to your computer and use it in GitHub Desktop.
Save ikarius/aa822a57a00869b9c723 to your computer and use it in GitHub Desktop.
More "functional" Obj-C 'switch'
// Ref: https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/WorkingwithBlocks/WorkingwithBlocks.html#//apple_ref/doc/uid/TP40011210-CH8-SW9
if (type == SRFSideBarHeaderTypeClear) {
self.backgroundView.hidden = YES;
self.titleImageView.hidden = YES;
}
else {
NSString *imageName = ^{
switch (type) {
case SRFSidebarHeaderTypeTV:
return @"header_title_tv";
break;
case SRFSidebarHeaderTypeRadio:
return @"sidebar_header_radio";
break;
case SRFSidebarHeaderTypeMerkliste:
return @"sidebar_header_merkliste";
break;
default:
return @"unknown";
break;
}}();
self.titleImageView.image = [UIImage imageNamed:[imageName xibIdiomExtension]];
}
// Instead of:
switch (type) {
case SRFSidebarHeaderTypeTV:
self.titleImageView.image = [UIImage imageNamed:[@"header_title_tv" xibIdiomExtension]];
break;
case SRFSidebarHeaderTypeRadio:
self.titleImageView.image = [UIImage imageNamed:@"sidebar_header_radio.png"];
break;
case SRFSidebarHeaderTypeMerkliste:
self.titleImageView.image = [UIImage imageNamed:@"sidebar_header_merkliste.png"];
break;
case SRFSideBarHeaderTypeClear:
self.backgroundView.hidden = YES;
self.titleImageView.hidden = YES;
break;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment