я просто пишу этот простой кусок кода:Условный оператор на основе функции наилучшей практики
-(void)goToStep:(int)step{
self.step1.hidden = YES;
self.step2.hidden = YES;
self.step3.hidden = YES;
self.step4.hidden = YES;
if(step == 1)
self.step1.hidden = NO;
if(step == 2)
self.step2.hidden = NO;
if(step == 3)
self.step3.hidden = NO;
if(step == 4)
self.step4.hidden = NO;
}
сейчас рассматривает какие различия писать, как это вместо того, чтобы бы, или другой производительность повышается.
-(void)goToStep:(int)step{
if(step == 1){
self.step1.hidden = NO;
self.step2.hidden = YES;
self.step3.hidden = YES;
self.step4.hidden = YES;
}
if(step == 2){
self.step2.hidden = NO;
self.step1.hidden = YES;
self.step3.hidden = YES;
self.step4.hidden = YES;}
if(step == 3){
self.step3.hidden = NO;
self.step2.hidden = YES;
self.step1.hidden = YES;
self.step4.hidden = YES;}
if(step == 4){
self.step4.hidden = NO;
self.step2.hidden = YES;
self.step3.hidden = YES;
self.step1.hidden = YES;}
}
В качестве альтернативы, с помощью переключателя, будет ли какая-либо разница?
Какой способ лучше? Thanks
Кто говорит, что один путь должен быть лучше другого? Подумайте, какой стиль облегчит долгосрочное обслуживание, не «скрывая» логику как-то. –
Hah, ifs without braces, второй пример очень хорошо показывает, какую странную вещь вы получаете, если не начинаете использовать фигурные скобки. – luk2302
Hah, я всегда использую фигурные скобки для многострочных ifs ...... Во всяком случае, при редактировании на странице я должен пропустить тех, кто спешил – DevilInDisguise