2016-07-11 13 views
0

Ich suchte dieses Problem vor Ort, aber ich konnte das Problem nicht lösen. Also möchte ich fragen, wie ich das lösen kann?Thread 1: Signal SIGABRT Fehler auf Obj C

Ich habe einen Navigationscontroller und einen View-Controller. Ich füge einige Elemente auf dem Navigationscontroller hinzu, es funktioniert, aber wenn ich einen ViewController hinzufüge und ich ihn mit dem Navigationscontroller verbinde, sehe ich ein Problem. Ich verband sie mit segue und ich möchte weitergeben, um Controller von Navigation Controller-Elementen anzuzeigen. Build fehlgeschlagen und ich nehme diesen Fehlercode;

2016-07-11 14:35:38.243 seg[4175:594378] *** Terminating app due to uncaught exception 'NSGenericException', reason: 'Push segues can only be used when the source controller is managed by an instance of UINavigationController.' 


*** First throw call stack: 
(
    0 CoreFoundation      0x000000010cd73d85 __exceptionPreprocess + 165 

    1 libobjc.A.dylib      0x000000010c7e7deb objc_exception_throw + 48 
    2 UIKit        0x000000010d8f7ca9 __copy_helper_block_ + 0 
    3 UIKit        0x000000010d871630 -[UIStoryboardSegueTemplate _performWithDestinationViewController:sender:] + 460 
    4 UIKit        0x000000010d871433 -[UIStoryboardSegueTemplate _perform:] + 82 
    5 UIKit        0x000000010d8716f7 -[UIStoryboardSegueTemplate perform:] + 156 
    6 UIKit        0x000000010d271156 -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1775 
    7 UIKit        0x000000010d27141b -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 388 
    8 UIKit        0x000000010d135f62 _runAfterCACommitDeferredBlocks + 317 
    9 UIKit        0x000000010d149e4c _cleanUpAfterCAFlushAndRunDeferredBlocks + 95 
    10 UIKit        0x000000010d156147 _afterCACommitHandler + 90 
    11 CoreFoundation      0x000000010cc98c37 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 
    12 CoreFoundation      0x000000010cc98ba7 __CFRunLoopDoObservers + 391 
    13 CoreFoundation      0x000000010cc8e7fb __CFRunLoopRun + 1147 
    14 CoreFoundation      0x000000010cc8e0f8 CFRunLoopRunSpecific + 488 
    15 GraphicsServices     0x00000001105f3ad2 GSEventRunModal + 161 
    16 UIKit        0x000000010d129f09 UIApplicationMain + 171 
    17 seg         0x000000010c2e445f main + 111 
    18 libdyld.dylib      0x000000010f54d92d start + 1 
    19 ???         0x0000000000000001 0x0 + 1 
) 
libc++abi.dylib: terminating with uncaught exception of type NSException 
(lldb) 

my viewControllers

+0

Problem in der Segmentkennung –

+0

Ich verstehe nicht? – hbakan

+0

verwenden Sie [self perfecsegue identifier] in Ihrem Code –

Antwort

2

einbetten Navigation Controller zu Ihrem Quelle-View-Controller

  1. der Controller Quellensicht auswählen
  2. Go To Editor ->einbetten In - >Navigationssteuerung.

enter image description here enter image description here enter image description here enter image description here enter image description here

+0

Ich habe es gemacht, aber das Problem geht immer noch – hbakan

+0

gleichen Fehler erhalten Sie –

+0

ja gleichen Fehler. – hbakan

0

Von der Fehlermeldung würde ich sagen, das Problem ist, dass Quelle Ihre Segue-Controller nicht in einem Navigation enthalten ist. Um dies zu beheben, wählen Sie den entsprechenden Controller in InterfaceBuilder, öffnen Sie das Editor Menü und wählen Sie Embed in, dann Navigation Controller. Dadurch wird ein neuer NavigationController erstellt, der Ihren ViewController hostet, und das Segment sollte automatisch aktualisiert und repariert werden.

+0

Ich habe es gemacht, aber ich sah das gleiche Problem – hbakan