2016-03-27 19 views

cevap

6

Sen if case kullanabilirsiniz

enum Foo { 
    case A(Int) 
    case B(String) 
} 

let parameter = Foo.A(42) 

/* if case ... */ 
if case .A(let valueA) = parameter { 
    print(valueA) // 42 
} 

if case desen eşleştirme boş (non-kullanılan) varsayılan durumda, ör eşleşen bir switch desen eşdeğerdir

/* switch ... */ 
switch parameter { 
case .A(let valueA): 
    print(valueA) // 42 
case _:() 
} 

Ayrıntılar için bkz. the Language Reference - Patterns.

+0

Teşekkürler. Şunu mu demek istediniz: eğer case .A (versa valueA) == parameter {'? – Manuel

+1

@Manuel Aslında, hayır. Eşitliği kontrol etmek yerine, numaralandırma eşleştirmesi gerçekleştiriyoruz; Bu bağlamda, işleç için '' 'işlevi kullanılır. – dfri

+0

Anladım, şimdi daha da etkilendim. Teşekkürler – Manuel