Основной сегментарный контроль не работает

Я пытаюсь внедрить сегментированный элемент управления в контроллер представления, но каждый раз, когда я пытаюсь нажать на контроллер на симуляторе, приложение вылетает. Но я действительно не знаю, что с моим кодом. Для дополнительного контекста: Попытка изменить четыре метки с четырьмя сегментами.

//
//  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,

Обновите ваше соединение от сегментированной контрольной розетки до метода действия.

Другие вопросы по тегам