2017-10-10 1 views
0

Wie füge ich ein zweites Argument zu einer Funktion in swift hinzu, die "_" verwendet? Zum Beispiel in diesem func:Hinzufügen eines zweiten Arguments zu einer Funktion

func save(completion: (_ finished: Bool) ->()) { 

Und wenn ich es so ist:

self.save { (complete) in 
     if complete { 
      dismiss(animated: true, completion: nil) 
     } 
    } 

Aber ich möchte ein weiteres Argument hinzufügen, eine UIColor. Jedes Mal wenn ich es mache, erhalte ich Fehler, weil ich die Argumente nicht richtig verwende. Wie füge ich eine UIColor in meiner Funktion hinzu? Ich habe es wie dieses

func save(color: UIColor,completion: (_ finished: Bool) ->()) { 

und wenn ich verwendet:

self.save(color: green, { (complete) in 
    if complete { 
     dismiss(animated: true, completion: nil) 
    }) 
} 

aber ich erhalte eine Fehlermeldung über den Typ Bool

Antwort

2

Sie haben zu schreiben

self.save(color: green) { complete in // the parentheses are not needed 
    if complete { 
     dismiss(animated: true, completion: nil) 
    } 
} 
+0

Das hat funktioniert! Danke vielmals! – newbiejava1998

0

Wenn Sie Rufen Sie eine Funktion mit Abschluss, der einfachste Weg, dass Sie keine Fehler beim Aufruf der Funktion haben, klicken Sie auf Enter, wenn Sie e auf dem "blauen Quadrat" des Arguments. Es wird alle Funktionen so bearbeiten, wie sie aussehen sollten.

Verwandte Themen