Ergebnis des Aufrufs [myFunction] wird nicht verwendet
In Obj-C, eine gemeinsame Praxis zu nutzen, um die Komfort-Funktionen zur Durchführung gängiger Vorgänge, wie Sie unter konfigurieren von auto-layout für Ansichten:
func makeConstraint(withAnotherView : UIView) -> NSLayoutConstraint
{
//Make some constraint
//...
//Return the created constraint
return NSLayoutConstraint()
}
Wenn Sie nur benötigt, um die Einschränkung und vergessen Sie es, Sie nennen könnte:
[view1 makeConstraint: view2]
Wenn Sie speichern wollten Sie die Einschränkung später, so dass Sie könnte zu entfernen/ändern möchten, führen Sie etwas wie:
NSLayoutConstraint * c;
c = [view1 makeConstraint: view2]
Ich möchte das in swift, wenn ich aber den Aufruf der oben genannten Funktion und erfassen nicht die zurückgegeben Einschränkung, bekomme ich die Warnung:
Result of call to 'makeConstraint(withAnotherView:)' is unused
SEHR ärgerlich. Gibt es eine Möglichkeit zu lassen, Swift weiß, dass ich nicht immer aufnehmen möchten, ist der Rückgabewert?
ANMERKUNG: ich weiß über diese. Es ist hässlich und nicht das, was ich Suche:
_ = view1.makeConstraint(withAnotherView: view2)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist eine Verhaltensweise, die bereits in Swift 3. Anstatt explizit zu kommentieren Funktionen mit
@warn_unused_result
um zu sagen, der compiler, das Ergebnis sollte der Anrufer verwendet, ist dies nun das Standardverhalten.Können Sie die
@discardableResult
- Attribut auf Ihre Funktion, um informiert den compiler, dass der Rückgabewert nicht 'verbraucht' durch den Anrufer.Lesen Sie über diese änderung im detail auf die evolution Vorschlag.
Können Sie versuchen, schalten Sie die Warnungen aus den Build-Settings des Projekts. Ich mag die Frage, guter Punkt. Einige der Forschung getan und fand diese. https://stackoverflow.com/a/34932152/5615274
Habe nicht testen Sie es doch.