2016-11-29 7 views
2

Nachdem aus irgendeinem Grund Swift 3.0, Konvertieren Ich erhalte diese FehlerCIDetectorError: '(String, CIContext ?, [String: Any]?) -> CIDetector' ist nicht konvertierbar in '(String, CIContext ?, [String: Any]?) -> CIDetector?'

'(String, CIContext?, [String : Any]?) -> CIDetector' is not convertible to '(String, CIContext?, [String : Any]?) -> CIDetector?'

//When initiating 
let detector: CIDetector? = CIDetector(ofType: CIDetectorTypeFace, context: nil, options: [CIDetectorAccuracy: CIDetectorAccuracyHigh]) 

ich nur eine Fehlermeldung erhalten, wenn ich zum Archiv versuchen. Wenn ich renne, funktioniert alles gut.

+1

Möglichkeit, dieses Problem zu beheben: http://StackOverflow.com/a/40463013/4045472 – bubuxu

+0

Mögliches Duplikat von [CIDetectorTypeQRCode gibt Fehler] (http://StackOverflow.com/questions/40409417/cidetectortypeqrcode-gives-error) – jk2K

Antwort

0

Dies ist ein gutes Beispiel für die Sinnlosigkeit von expliziten Typ Anmerkungen.

die Typenannotation entfernen und lassen Sie den Compiler

let detector = CIDetector(ofType: CIDetectorTypeFace, context: nil, options: [CIDetectorAccuracy: CIDetectorAccuracyHigh]) 

Die Fehlermeldung besagt, dass der Rückgabetyp ist nicht optional den Typ schließen.

+2

Danke @vadian. Erhalte immer noch diesen Fehler. Es kompiliert. Ich bekomme diesen Fehler nur, wenn ich 'Archiviere '. Der Typ ist ein 'String', immer noch nicht sicher, warum diese Fehler auftreten. –

+0

Ich habe den gleichen Fehler, nur wenn ** Archiv **. – bubuxu

0

Haben keinen Ruf zu kommentieren, also möchte hinzufügen, dass dies noch ein Problem in XCode 8.1 einen Monat später ist. Nur für Archiv. Ich schließe den Typ ab.

Verwandte Themen