2016-05-21 9 views
0

Ich versuche, eine Reset-Schaltfläche für meine App zu erstellen, die die Benutzeroberfläche in den ursprünglichen Zustand zurücksetzt. Ich habe ein UIButton gemacht und es mit dem ViewController verbunden, aber ich habe keine Ahnung, wohin ich von hier gehen soll. Ich habe versucht, mit dem folgenden Code:Xcode 7.2.1 Erstellen einer Reset-Schaltfläche mit einer Schaltfläche mit Swift

@IBAction func resetToOriginalState(sender: UIButton) { 
    self.resetToOriginalState (sender: UIButton) 
} 

Es gab mir die folgende Fehlermeldung:

Editor placeholder in source file

Sorry, wenn es kann eine offensichtliche Antwort, aber ich bin sehr neu zu Swift und Xcode.

Gibt es eine andere Möglichkeit, eine Reset-Taste zu erstellen?

Antwort

1

Der Fehler:

Editor placeholder in source file

ist, weil Sie eine Funktion mit dem UIButton Klassenname anstelle der tatsächlichen Taste aufrufen.

@IBAction func resetToOriginalState(sender: UIButton { 

    // this line is wrong, you shouldn't have UIButton in here 
    self.resetToOriginalState (sender: UIButton) 

    // the line should read 
    self.resetToOriginalState (sender: sender) 
} 

Auf diese Weise sind vorbei Sie die aktuelle Schaltfläche in die Funktion, die

+0

Vielen Dank! Das hat Scriptable wirklich geholfen; Ich schätze es. –

0

scheint Sie zu IBAction für die gleiche Taste haben, überprüfen Sie, wie viele Zeit, die Sie @IBAction func resetToOriginalState(sender: UIButton) in Ihrem Code haben und die Referenzen aus der Liste Referenzen Schnittstelle entfernen um es zu reinigen, sollte es nur eine:

enter image description here

+0

Ich habe zwei Instanzen von @IBAction in meinem Code, einmal für diese Reset-Taste und eine andere für eine andere Taste, um resetToOriginalState übergeben wurde. Allerdings muss ich beide behalten, damit meine App funktioniert. Gibt es trotzdem einen Reset-Button? –

+0

Ich meinte es sollte nur eine ibaction sowohl in code als auch in references interface list to button geben, also wenn du 2 buttons hast muss jeder button diese 2 aspect haben (code und referenzen link). –

0

Es hängt davon ab, was in der Szene ist und was Sie neu laden müssen. Wie weit ist weiß, dass ich Sie nicht wirklich eine Viewcontroller sich segue können, aber hier sind einige Optionen:

  1. Try loadView() hinzuzufügen, wenn die Taste gedrückt wird
  2. den View-Controller Duplizieren und segue zwischen den beiden . (Könnte riskant sein, und mehr Arbeit schaffen)
  3. Setzen Sie Variablen in ihren Ausgangszustand, wenn die Taste gedrückt wird
0

Sie sollten uns geben genauer, weil diese Implementierung spezifisch ist.

Nichtsdestotrotz ist es nicht sehr sauber, aber abhängig von der Architektur Ihres Codes können Sie möglicherweise eine neue Instanz Ihres View-Controllers generieren, den aktuellen zerstören und den neuen darstellen.