2015-10-14 5 views
16

Ich möchte eine Methode aufrufen, die throw etwas kann. Zur gleichen Zeit interessiere ich mich nicht für die Ausnahme, die geworfen werden kann, ich möchte nur Methode aufrufen. Allerdings, wenn ich versuche, etwas wie folgt zu tun:Was ist mit Swifts "Versuch" zu tun? dieser Grund "Versuchsergebnis? ist ungenutzt"?

try? managedObjectContext.save() 

Ich bekomme eine Warnung "Ergebnis des Versuchs? Ist unbenutzt". Was soll ich in diesem Fall tun? Schweigen Warnung? Wie?

etwas tun:

let error: NSError = try? managedObjectContext.save() 

? Der Ausdruck wird doppelt so groß und ich bekomme die ungenutzte Konstante.

Antwort

25

Als Ihre Anforderung, „Zur gleichen Zeit, die ich nicht über die Ausnahme kümmern, die ausgelöst werden können, ich will nur Methode nennen“, dies tun:

try! managedObjectContext.save() 

Aber es wird, wenn ein Absturz Fehler wird ausgelöst. Also, verwenden Sie unter Code-Snip für Safe:

+1

Wegen meiner Unaufmerksamkeit habe ich solche Variante verpasst) Du hast Recht. –

+2

Das wird abstürzen, wenn ein Fehler ausgelöst wird. Siehe Antwort zum verknüpften Duplikat. – vacawama

-4

Ich denke, Sie brauchen so etwas.

Do { 
try managedObjectContect.Save() 
} 
catch let error { 
    print("error") 
}