Основной сегментарный контроль не работает
Я пытаюсь внедрить сегментированный элемент управления в контроллер представления, но каждый раз, когда я пытаюсь нажать на контроллер на симуляторе, приложение вылетает. Но я действительно не знаю, что с моим кодом. Для дополнительного контекста: Попытка изменить четыре метки с четырьмя сегментами.
//
// 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
}
}
}
И вот ошибка, которая дается:
2017-07-22 20: 02: 31.059244 + 0200 Yiives [369: 50130] - [Yiives.AboutViewControllergmentControl:]: нераспознанный селектор, отправленный экземпляру 0x100b37b40 2017-07-22 20:02:31.060083+0200 Yiives[369:50130] *** Завершение работы приложения из-за необработанного исключения "NSInvalidArgumentException", причина: '-[Yiives.AboutViewControllergmentControl:]: нераспознанный селектор отправлен в экземпляр 0x100b37b40' *** Первый вызов стека вызовов: (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: завершается с необработанным исключением типа NSException (Lldb)
1 ответ
Решение
Вы подключили метод действия с именем segmentControl:
но в вашем коде метод действия называется indexChanged
,
Обновите ваше соединение от сегментированной контрольной розетки до метода действия.