2016-06-15 16 views
0

Manchmal, wenn ich meine app laufen, diese CodezeileSo führen Sie "myFilter.outputImage !, fromRect: myFilter.outputImage! .extent" sicher aus?

let outputCGImage = context.createCGImage(myFilter.outputImage!, fromRect: myFilter.outputImage!.extent) 

die App abstürzt, ich weiß nicht, warum =/

Also, ich möchte diese Linie sicher laufen. Ich habe versucht myFilter.outputImage?, aber es erfordert nur !. Also, wie kann ich diese Linie sicher ausführen?

Ich wollte mit der Wache versuchen, aber ich möchte diese Linie nicht passieren. In diesem Fall wird mein Filter nicht angewendet, im Falle return, und ich will das nicht. Ich möchte alle meine Filter erfolgreich anwenden.

Irgendwelche Verbesserungen?

+0

Nun, was ist die Fehlermeldung? – Alexander

+0

@AMomchilov bekam nur diese '# 6 Crashed: com.apple.root.default-qos EXC_BREAKPOINT 0x000000010009617c' – John

Antwort

0

Also möchte ich diese Linie sicher ausführen. Ich habe versucht:

context.createCGImage(myFilter.outputImage?, 

Das erste Argument für createCGImage() ist kein optionaler Typ, so dass Sie nicht die ? verwenden können. Sie können ein if-let verwenden:

if let validImage = myFilter.outputImage { 
    let outputCGImage = context.createCGImage(validImage, fromRect: validImage.extent) 
} 
else { 
    //Do something else 
} 
+0

Mein Code sieht folgendermaßen aus:' let outputCGImage = context.createCGImage (myFilter.outputImage !, fromRect: myFilter.outputImage !. Extent) lassen Sie newImage = UIImage (CGImage: outputCGImage, Maßstab: image.scale, Orientierung: image.imageOrientation) return newImage'. Also muss ich ein Bild zurückgeben – John

+0

* Also muss ich ein Bild zurückgeben * - Nichts hält Sie davon ab, aber Sie können das Bild nicht von 'myFilter.outputImage' zurückgeben, weil manchmal nicht eins ist. In diesem Fall müssen Sie ein Bild von etwas anderem erstellen. – 7stud

+0

ja, ich weiß =/Also, wenn ehrlich, ich möchte wissen, warum es manchmal nicht hat. Ich möchte keine leere Zelle anzeigen, ich versuche jedes Mal ein gültiges Bild zurückzugeben. – John