Ich habe Tabelle View-Controller, sollte als Einstellungsseite dienen, die eine UISegmentedControl mit 3 Segmenten enthalten:Zugriff auf UISegmentedControl @IBOoutlet von einer anderen Klasse
class SettingsView: UITableViewController {
@IBOutlet weak var ButtonSelection: UISegmentedControl!
//Index 0 is default selection (first)
override func viewDidLoad() {
super.viewDidLoad()
// some code
}
Getrennt, ich habe einen Navigation-View-Controller, die 3 steuert verschiedene UIViewControllers mit entsprechenden Storyboard-IDs ("first", "second" und "third").
Ich versuche, den Navigation View Controller so vorzubereiten, dass er den passenden View Controller basierend auf UISegmentedControl-Auswahl präsentiert. Allerdings bekomme ich immer wieder "fataler Fehler: unerwarteterweise wurde nil beim Entpacken eines optionalen Werts gefunden" und bin nicht sicher, wie das Problem gelöst werden soll.
Dies ist, was ich versucht habe:
class NavViewController: UINavigationController {
override func viewDidLoad() {
super.viewDidLoad()
if SettingsView().ButtonSelection.selectedSegmentIndex == 0 {
print ("first segment is selected")
let destinationController = storyboard?.instantiateViewController(withIdentifier: "first")
else if SettingsView().ButtonSelection.selectedSegmentIndex == 1 {
print ("second segment is selected")
let destinationController = storyboard?.instantiateViewController(withIdentifier: "second")
else if SettingsView().ButtonSelection.selectedSegmentIndex == 0 {
print ("third segment is selected")
let destinationController = storyboard?.instantiateViewController(withIdentifier: "third")
Könnte jemand mich in die richtige Richtung zeigen, bitte? Danke im Voraus!