Meine App hat einen UISwitch und abhängig von der Position des Switches wählt die App, welches Array benötigt wird. Wenn ich meine App starte und sie benutze, ohne den Schalter zu bewegen (lasse sie auf der isoN-Position stehen), stürzt die App ab. (Thread 1: Schwerwiegender Fehler: Index außerhalb des Bereichs)App stürzt ab, wenn UISwitch einmal verschoben wurde, um zu ändern, welches Array geladen wird
Solange ich es einmal bewege, funktioniert es dann wie ich gehofft hatte. Hier ist der Code:
import UIKit
var selectedRunesArray = [Rune]()
class SettingsViewController: UIViewController {
@IBOutlet weak var allowReversedRunesSwitch: UISwitch!
@IBOutlet weak var allowDuplicateRunesSwitch: UISwitch!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
@IBAction func reversedRunesChanged(_ sender: UISwitch) {
if allowReversedRunesSwitch.isOn == true {
selectedRunesArray = runesIncReversedArray
} else {
selectedRunesArray = runesArray
}
}
@IBAction func duplicateRunesChanged(_ sender: UISwitch) {
if allowDuplicateRunesSwitch.isOn == true {
} else {
}
}
}
Ich dachte, vielleicht das Problem hier war, dass ich die App begonnen hatte, ab mit selectedRunesArray leer ist, so entschied es einen Anfangswert zu geben, wie folgt:
var seletcedRunesArray = runesIncReversedArray
Diese gestoppt Die App stürzt ab, wenn Sie versuchen, sie zu benutzen, ohne den Switch zu bewegen, aber jetzt wird sie nicht mehr zwischen den 2 Arrays wechseln, je nachdem, wie der Schalterzustand aussehen soll.
, indem es stürzt ab? Irgendeine Fehlermeldung in der Konsole dann? – Larme
Sorry, ich habe vergessen, den Fehler anzuhängen. Bearbeitete ursprüngliche Nachricht jetzt – Elfuthark
ist die IBAction auf dem WertDidChange? Überprüfen Sie, ob es angeschlossen ist. Setzen Sie einen Haltepunkt und sehen Sie, was passiert. Es ist richtig, das Array zunächst so einzustellen, dass die IBActions nur bei der Benutzerinteraktion aufgerufen werden. – BooRanger