Hier ist ein Problem, das ich hatte und ich konnte nirgendwo etwas finden, um mein Problem zu lösen, im Grunde, was ich habe, ist ein create event scenario, und ich habe einen UISwitch, der in meinem CreateEventViewController einschalten soll, und einen View-Controller für diese Einstellung, das ist mein SetCountdownViewController, was es tut, aber ich möchte eine Schaltfläche zum Abbrechen in SetCountdownViewController zu haben, die SetCountdownViewController abstellt und meinen UISwitch abstellt, aber bis jetzt habe ich eine Handvoll Fehler und Bugs gefunden.Wie man einen UISwitch-Status einstellt, den View-Controller aufruft, Abbrechen drückt und ihn ausschalten lässt
sah ich einige Tutorials und sie alle sagten mir someSwitch.on
und someSwitch.setOn([state, true/false], animated:[true/false])
und beide scheinen zu verwenden, zunächst zu arbeiten, keine Fehler auftauchen, kann ich bauen und laufen, aber wenn ich meine testen Funktionalität und drücken sie meine Taste abbrechen, es gibt mir eine Fehlermeldung, "Thread 1: EXC_BAD_INSTRUCTION (code = EXC_i386_INVOP, Subcode = 0x0)" auf der Linie, die sagt: "countdownSetSwitch.setOn (false, animiert: true) "
sowie "fataler Fehler: unerwartet gefunden Null beim Auspacken eines optionalen Wertes" in meinem Protokoll.
Ich habe eine Funktion, die es auf false zurücksetzen soll, aber das ist, wo der Fehler auftritt, egal wie/wo ich setzen .setOn, oder .on, gibt es mir diesen Fehler, und es scheint wie diese kann veraltet sein, aber sie sind irgendwie funktional für das Erstellen/Ausführen, bis sie tatsächlich aufgerufen werden.
func resetCountdownSwitch(){ countdownSetSwitch.setOn(false, animated: true) }
das ist meine Funktion.
Ich rufe es in meinem IBAction für meine Abbrechen-Taste hier.
@IBAction func countdownCancelButton(sender: AnyObject) {
createEventVC.resetCountdownSwitch()
dismissViewControllerAnimated(true, completion: nil)
}
jede Hilfe wäre toll, wenn Sie mehr Informationen benötigen ID glücklich, es zu geben, ich Swift ziemlich neu bin und iOS Entwicklung als Ganzes, so dass es ein Rookie Fehler sein kann, aber ich Ich bin ratlos.
Es ist definitiv nicht veraltet. Wo rufst du diese Funktion an? Welcher viewController besitzt den Switch und in welchem Zustand befindet er sich, wenn Sie ihn anrufen? – Dare
Ich rufe diese Funktion in der IBAction meiner Cancel-Schaltfläche auf, CreateEventViewController besitzt den Switch, und standardmäßig ist er in der Off-Position gesetzt, aber ich habe SetCountdownViewController gesetzt, wenn der Status geändert wird. @Dare – GabrielMSC
Zeigen Sie uns die Methoden, wo dies geschieht. Wenn Sie SetCountdownViewController präsentieren und versuchen, den Status von CreateEventViewController zu ändern, gibt es eine echte Chance, dass die Instanz bereits aufgehoben wurde, wenn Sie dies tun, und Sie eine Funktion mit Nil aufrufen. – Dare