Ошибка разработки приложения Swift - поток 1, сигнал SIGABRT - PullRequest
0 голосов
/ 06 сентября 2018

Я знаю, что этот вопрос задавался несколько раз прежде, но, используя всю информацию, полученную из их ответов, мой проект все еще терпит крах!

Я изучаю разработку приложений, используя iBook Intro для разработки приложений с помощью Swift, в серии Apple «Все могут писать». Я использую главу 17.3, которая называется «Несколько действий и розеток», и я следую за кодом и видео точно , как показано, однако, когда я щелкаю первый переключатель, объект View должен становится красным, но это не так, и щелчок двух других переключателей приводит к сбою приложения с ошибкой Thread 1: signal SIGABRT. Ошибка консоли такова:

2018-09-06 18:29:35.503697+1000 ColorMix[2654:141233] -[ColorMix.ViewController greenSwitch:]: unrecognized selector sent to instance 0x7f89a4c09110
2018-09-06 18:29:35.515103+1000 ColorMix[2654:141233] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[ColorMix.ViewController greenSwitch:]: unrecognized selector sent to instance 0x7f89a4c09110'
*** First throw call stack:
(
    0   CoreFoundation                      0x00000001113a81e6 __exceptionPreprocess + 294
    1   libobjc.A.dylib                     0x000000010f9ce031 objc_exception_throw + 48
    2   CoreFoundation                      0x0000000111429784 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132
    3   UIKit                               0x0000000111d5e6db -[UIResponder doesNotRecognizeSelector:] + 295
    4   CoreFoundation                      0x000000011132a898 ___forwarding___ + 1432
    5   CoreFoundation                      0x000000011132a278 _CF_forwarding_prep_0 + 120
    6   UIKit                               0x0000000111b313e8 -[UIApplication sendAction:to:from:forEvent:] + 83
    7   UIKit                               0x0000000111cac7a4 -[UIControl sendAction:to:forEvent:] + 67
    8   UIKit                               0x0000000111cacac1 -[UIControl _sendActionsForEvents:withEvent:] + 450
    9   UIKit                               0x00000001127edea0 -[UISwitchModernVisualElement sendStateChangeActions] + 73
    10  UIKit                               0x00000001121af9d3 -[UISwitchMVEGestureTrackingSession _sendStateChangeActionsIfNecessary] + 63
    11  UIKit                               0x00000001127ee62c -[UISwitchModernVisualElement _handleLongPressWithGestureLocationInBounds:gestureState:] + 760
    12  UIKit                               0x000000011212854f -[UIGestureRecognizerTarget _sendActionWithGestureRecognizer:] + 57
    13  UIKit                               0x0000000112131324 _UIGestureRecognizerSendTargetActions + 109
    14  UIKit                               0x000000011212eb6c _UIGestureRecognizerSendActions + 307
    15  UIKit                               0x000000011212ddc0 -[UIGestureRecognizer _updateGestureWithEvent:buttonEvent:] + 859
    16  UIKit                               0x0000000112112e24 _UIGestureEnvironmentUpdate + 1329
    17  UIKit                               0x00000001121128a7 -[UIGestureEnvironment _deliverEvent:toGestureRecognizers:usingBlock:] + 484
    18  UIKit                               0x00000001121119a9 -[UIGestureEnvironment _updateGesturesForEvent:window:] + 281
    19  UIKit                               0x0000000111ba77ab -[UIWindow sendEvent:] + 4064
    20  UIKit                               0x0000000111b4b310 -[UIApplication sendEvent:] + 352
    21  UIKit                               0x000000011248c6af __dispatchPreprocessedEventFromEventQueue + 2796
    22  UIKit                               0x000000011248f2c4 __handleEventQueueInternal + 5949
    23  CoreFoundation                      0x000000011134abb1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
    24  CoreFoundation                      0x000000011132f4af __CFRunLoopDoSources0 + 271
    25  CoreFoundation                      0x000000011132ea6f __CFRunLoopRun + 1263
    26  CoreFoundation                      0x000000011132e30b CFRunLoopRunSpecific + 635
    27  GraphicsServices                    0x0000000115efea73 GSEventRunModal + 62
    28  UIKit                               0x0000000111b30057 UIApplicationMain + 159
    29  ColorMix                            0x000000010f0c2a67 main + 55
    30  libdyld.dylib                       0x00000001147ec955 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb) 

Вот скриншоты моих файлов ViewController и Main.storyboard:

enter image description here enter image description here

Кроме того, после сбоя моего приложения происходит что-то странное: новые линии (заполненные точки) создаются в строках 33 и 48, где нет ничего, касающегося точек.

Пожалуйста, дайте мне знать, если вам нужна дополнительная информация / код, я был бы признателен за любую помощь!

1 Ответ

0 голосов
/ 06 сентября 2018

Это

[ColorMix.ViewController greenSwitch:]: нераспознанный селектор отправлен на экземпляр

означает, что вы создали IBAction с именем greenSwitch, а затем удалили его, поэтому попробуйте удалить его из коммутатора в IB или создать это действие внутри VC

enter image description here

...