Os ternários podem ser usados sem o operador do lado esquerdo, fazendo o seguinte:
on ? [something start] : [something stop];
mais terso do que:
if (on) {
[something start];
}
else {
[something stop];
}
Eu acho que é sábio mencionar que deve ser usado em casos simples, onde a usual dança if / else parece deselegante. Um exemplo é realizar alguma ação dependendo do estado de um UISwitch:
- (void)switchChanged:(id)sender
{
((UISwitch *)sender).on ? [self start] : [self stop];
}