2010-07-15 12 views
5
ref1view.hidden = NO; 
[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:0.25f]; 
[ref1view setAlpha:([ref1view alpha] == 1.0f) ? 0.0f : 1.0f]; 
[UIView commitAnimations]; 

Qualcuno può darmi una ripartizione di come funziona? In particolare questa linea:Si prega di spiegare questo codice Objective-C

[ref1view setAlpha:([ref1view alpha] == 1.0f) ? 0.0f : 1.0f]; 

Sembra che questa funzione animerà l'alfa 0-1 e ritorno 1-0 e io proprio non capisco la sintassi. Grazie!

risposta

13

[ref1view setAlpha:([ref1view alpha] == 1) ? 0.0f : 1.0f];:

Imposta l'alfa di ref1view essere 1 se è 0 o 0 se è 1. Questo è chiamato il ternario operatore, un'abbreviazione if-else.

(condition) ? conditionistrue : conditionisfalse; 
+0

Sì, op ternario. – Kevin

3

è un operatore ternario ... sarebbe la stessa

if(ref1view alpha == 1) 
{ 
[ref1view setAlpha:0.0f]; 
} 
else 
{ 
[ref1view setAlpha:1.0f]; 
} 
Problemi correlati