2015-10-27 2 views
0

У меня есть панель навигации (меню) и другая «меню» на моей первой странице.Вызов функции другого класса (протокол)

enter image description here

Выдвиньте меню:

  • Index
  • Page 1
  • Page 2
  • Page 3
  • Page 4

На индекс:

  • Page 1
  • Page 2
  • Page 3
  • Page 4

Таким образом, пользователь имеет доступ к страницам из Индекса или сдвинув (или нажмите в меню значков), чтобы иметь меню.

Но у меня есть ошибка: я перехожу на страницу 1 из Индекса, я нажимаю на меню значков, чтобы вытащить меню, которое я нажимаю на индекс, я снова перехожу на страницу 1 из Индекса, и здесь, если я коснусь снова на значок меню, я получаю сообщение об ошибке: SIGBRT (что-то в этом роде)

Я сделал некоторые контрольные точки:

на этой линии: self.delegate?.pushViewControllerInStack!(UIStoryboard.nosOffresViewController(‌​)!)

И один в функции pushViewControllerInStack

A Когда я делаю маннигалы, мое приложение читает эту строку self.delegate?.pushViewControllerInStack!(UIStoryboard.nosOffresViewController(‌​)!), но оно не входит в функцию.

Так что мой взгляд lost the access функции, но я не знаю, почему и как исправить проблему.

Там очень много кода, вы можете найти репозиторий здесь: https://github.com/Vkt0r/SlideOutSideBarTest

ошибка:

2015-10-28 09:00:33.038 Solutis[477:5075] -[Solutis.NosOffresViewController menuNosOffresTapped:]: unrecognized selector sent to instance 0x7ff5caf464e0 
2015-10-28 09:00:33.045 Solutis[477:5075] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Solutis.NosOffresViewController menuNosOffresTapped:]: unrecognized selector sent to instance 0x7ff5caf464e0' 
*** First throw call stack: 
(
    0 CoreFoundation      0x000000010f3b1f65 __exceptionPreprocess + 165 
    1 libobjc.A.dylib      0x0000000111268deb objc_exception_throw + 48 
    2 CoreFoundation      0x000000010f3ba58d -[NSObject(NSObject) doesNotRecognizeSelector:] + 205 
    3 CoreFoundation      0x000000010f307f7a ___forwarding___ + 970 
    4 CoreFoundation      0x000000010f307b28 _CF_forwarding_prep_0 + 120 
    5 UIKit        0x000000010fdf31fa -[UIApplication sendAction:to:from:forEvent:] + 92 
    6 UIKit        0x00000001101d5247 -[UIBarButtonItem(UIInternal) _sendAction:withEvent:] + 152 
    7 UIKit        0x000000010fdf31fa -[UIApplication sendAction:to:from:forEvent:] + 92 
    8 UIKit        0x000000010ff57504 -[UIControl sendAction:to:forEvent:] + 67 
    9 UIKit        0x000000010ff577d0 -[UIControl _sendActionsForEvents:withEvent:] + 311 
    10 UIKit        0x000000010ff5794b -[UIControl _sendActionsForEvents:withEvent:] + 690 
    11 UIKit        0x000000010ff56906 -[UIControl touchesEnded:withEvent:] + 601 
    12 UIKit        0x000000010fe5daa3 -[UIWindow _sendTouchesForEvent:] + 835 
    13 UIKit        0x000000010fe5e691 -[UIWindow sendEvent:] + 865 
    14 UIKit        0x000000010fe10752 -[UIApplication sendEvent:] + 263 
    15 UIKit        0x000000010fdebfcc _UIApplicationHandleEventQueue + 6693 
    16 CoreFoundation      0x000000010f2de0a1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 
    17 CoreFoundation      0x000000010f2d3fcc __CFRunLoopDoSources0 + 556 
    18 CoreFoundation      0x000000010f2d3483 __CFRunLoopRun + 867 
    19 CoreFoundation      0x000000010f2d2e98 CFRunLoopRunSpecific + 488 
    20 GraphicsServices     0x000000011485bad2 GSEventRunModal + 161 
    21 UIKit        0x000000010fdf1676 UIApplicationMain + 171 
    22 Solutis        0x000000010f1b892d main + 109 
    23 libdyld.dylib      0x0000000111d8092d start + 1 
    24 ???         0x0000000000000001 0x0 + 1 
) 
libc++abi.dylib: terminating with uncaught exception of type NSException 
(lldb) 
+0

Вы должны опубликовать всю ошибку. «SIGBRT (что-то в этом роде)» не поможет никому решить вашу проблему. Кроме того, маловероятно, что кто-то отправится на ваш репортаж github и просмотрит весь ваш код и попытается найти ошибку. Я бы опубликовал блок кода (а не только одну строку выше), где вы вызываете эти действия. –

+0

Когда вы получаете SIGABRT, Xcode должен отображать навигатор Debug (в левой части окна Xcode).Выделите все строки трассировки стека, скопируйте их и вставьте в свой вопрос. –

+0

@AndrewRobinson Я только что разместил код ошибки, я думаю, что это бесполезно, потому что я опубликую 80% своего приложения –

ответ

0

Вы связали действия с пункта бар You linked the action with the bar item

И прокомментировал это: And you commented it

Таким образом, это будет cr зола, когда вы пытаетесь открыть меню на этой странице.

+0

Спасибо за ваш ответ, если я не прокомментирую: приложение переходит к эта строка: 'delegate? toggleLeftpanel()', но она не переходит к функции, она не работает. –

+0

Вы можете просто прокомментировать эту строку, но не метод – Horst

+0

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

Смежные вопросы