2015-04-22 7 views
5

'Binary Operator == kann nicht auf zwei EKSourceType Operanden angewendet werden:' Ich habe Code wie folgt in Xcode 6.3:Swift gibt Fehler

let store = EKEventStore() 

for source in store.sources() { 
    let st: EKSourceType = source.sourceType! 
    if st == EKSourceTypeLocal { 
     localSource = source; 
    } 
} 

Die fünfte Zeile (wenn st ..) Fehler der complier gibt: ' Binärer Operator == kann nicht auf zwei EKSourceType-Operanden angewendet werden

Wie kann ich überprüfen, ob die Quelle lokal ist oder nicht (in Swift) und dieses zum Kompilieren bekommen?

+2

Es gibt keine Notwendigkeit zu zwingen-unwrap 'source.sourceType', es ist schon eine implizit ausgepackten optional so wird Ihr Code schön abstürzen, wenn es jemals' nil' ohne eine helfende Hand :) –

Antwort

15

So:

if st.value == EKSourceTypeLocal.value