2017-07-22 12 views
0

Ich versuche, eine segmentierte Steuerung in einen View-Controller zu implementieren, aber jedes Mal, wenn ich versuche, den Controller im Simulator anzutippen, stürzt die App ab. Aber ich weiß wirklich nicht, was mit meinem Code ist. Für zusätzlichen Kontext: Versuch, vier Etiketten mit vier Segmenten zu ändern.Einfache segmentierte Steuerung funktioniert nicht

// 
// AboutViewController.swift 
// Yiives 
// 
// Created by Patrick van der Nat on 7/22/17. 
// Copyright © 2017 Origen. All rights reserved. 
// 

import UIKit 

class AboutViewController: UIViewController { 
    @IBOutlet weak var segmentedControl: UISegmentedControl! 
    @IBOutlet weak var textLabel: UILabel! 

    @IBAction func indexChanged(_ sender: Any) { 
     switch segmentedControl.selectedSegmentIndex 
     { 
     case 0: 
      textLabel.text = "First Segment Selected"; 
     case 1: 
      textLabel.text = "Second Segment Selected"; 
     case 2: 
      textLabel.text = "Third Segment Selected"; 
     case 3: 
      textLabel.text = "Fourth Segment Selected"; 
     default: 
      break 
     } 
    } 
} 

Und hier ist der Fehler, der gegeben ist:

 
2017-07-22 20:02:31.059244+0200 Yiives[369:50130] -[Yiives.AboutViewController segmentControl:]: unrecognized selector sent to instance 0x100b37b40 
2017-07-22 20:02:31.060083+0200 Yiives[369:50130] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Yiives.AboutViewController segmentControl:]: unrecognized selector sent to instance 0x100b37b40' 
*** First throw call stack: 
(0x183a1afe0 0x18247c538 0x183a21ef4 0x183a1ef54 0x18391ad4c 0x189b81010 0x189b80f90 0x189b6b504 0x189c9a764 0x189d522e0 0x189b80390 0x189b7b728 0x189b4c33c 0x18a346014 0x18a340770 0x18a340b9c 0x1839c942c 0x1839c8d9c 0x1839c69a8 0x1838f6da4 0x185360074 0x189bb1058 0x1000a8544 0x18290559c) 
libc++abi.dylib: terminating with uncaught exception of type NSException 
(lldb) 
+0

Wenn die App abstürzt, muss es einen "Fehler" geben, es wäre hilfreich zu wissen, was es ist, meinst du nicht? –

+0

Sicher hier ist es: 017-07-22 20: 02: 31.059244 + 0200 Yiives [369: 50130] - [Yiives.AboutViewController segmentControl:]: unerkannter Selektor an Instanz 0x100b37b40 gesendet 2017-07-22 20: 02: 31.060083 +0200 Yiives [369: 50130] *** Beenden der App aufgrund der nicht abgefangenen Ausnahme 'NSInvalidArgumentException', Grund: '- [Yiives.AboutViewController segmentControl:]: nicht erkannter Selektor an Instanz 0x100b37b40' –

+0

gesendet Überprüfen Sie, ob die IBAction-Methode ordnungsgemäß von Ihrem Computer verbunden ist Die segmentierte Kontrolle von xib/Storyboard. – firstinq

Antwort

2

Sie haben eine Aktion Methode mit dem Namen verbunden ist segmentControl: aber in Ihrem Code die Aktionsmethode indexChanged benannt.

Aktualisieren Sie Ihre Verbindung von der segmentierten Steuerbuchse zur Aktionsmethode.

+0

Danke, es funktioniert! Fühle ich mich manchmal wie ein Noob: D –

+0

Froh, zu helfen und willkommen in SO. Bitte vergiss nicht, dass du Antworten akzeptierst, die deine Fragen am besten lösen. Dies zeigt an, dass Ihre Frage beantwortet wurde. – rmaddy

Verwandte Themen