Skip to content

Instantly share code, notes, and snippets.

@christianroman
Created August 3, 2012 00:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save christianroman/3242465 to your computer and use it in GitHub Desktop.
Save christianroman/3242465 to your computer and use it in GitHub Desktop.
Switch Object in Objective-C
BOOL switchObject(id anObject, ...)
{
va_list args;
va_start(args, anObject);
id value = nil;
BOOL matchFound = NO;
while ( (value = va_arg(args,id)) )
{
void (^block)(void) = va_arg(args,id);
if ([anObject isEqual:value])
{
block();
matchFound = YES;
break;
}
}
va_end(args);
return matchFound;
}
/* Usage */
switchObject(popoverController,
sexoPopover, ^{
[sexo setPlaceholder:[sexoArray objectAtIndex:sexoSelected]];
},
estadoFamiliarPopover, ^{
[estadoFamiliar setPlaceholder:[estadoFamiliarArray objectAtIndex:estadoFamiliarSelected]];
},
procedenciaFondosPopover, ^{
[procedenciaFondos setPlaceholder:[procedenciaFondosArray objectAtIndex:procedenciaFondosSelected]];
},
usoFondosPopover, ^{
[usoFondos setPlaceholder:[usoFondosArray objectAtIndex:usoFondosSelected]];
},
profesionPopover, ^{
[profesion setPlaceholder:[profesionArray objectAtIndex:profesionSelected]];
},
nil);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment