AMSlideMenu崩溃:Receiver(<menuviewcontroller:0x10db0da10 =“”>)没有带标识符的segue&#39; rightMenu&#39; </menuviewcontroller:>

时间:2014-09-02 15:34:23

标签: ios objective-c amslidemenu

我知道已有question这个,但提供的答案并没有解决我的问题。

首先,我有3个三个segues指向3个不同的视图控制器,来自AMSlideMenuLeftTableViewController类。我创建的第一个segue和视图控制器是作为第一个视图显示的视图(显示应用程序何时加载的视图)。

然而,由于我删除了第一个视图,我的应用程序在打开后立即崩溃。

这是崩溃日志:

2014-09-02 17:17:56.200 App[3174:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<MenuViewController>: 0x10db0da10>) has no segue with identifier 'rightMenu''
*** First throw call stack:
(
    0   CoreFoundation                      0x0000000100433495 __exceptionPreprocess + 165
    1   libobjc.A.dylib                     0x00000001030f499e objc_exception_throw + 43
2   UIKit                               0x0000000101d99515 -[UIViewController shouldPerformSegueWithIdentifier:sender:] + 0
3   App                        0x000000010002d67f -[AMSlideMenuMainViewController setup] + 1071
4   App                        0x000000010002aae1 -[AMSlideMenuMainViewController viewDidLoad] + 353
5   App                        0x00000001000915e6 -[MenuViewController viewDidLoad] + 54
6   UIKit                               0x0000000101d9759e -[UIViewController loadViewIfRequired] + 562
7   UIKit                               0x0000000101d97777 -[UIViewController view] + 29
8   UIKit                               0x00000001020a22e2 -[UIClientRotationContext initWithClient:toOrientation:duration:andWindow:] + 390
9   UIKit                               0x0000000101cddffa -[UIWindow _setRotatableClient:toOrientation:updateStatusBar:duration:force:isRotating:] + 1109
10  UIKit                               0x0000000101cddb9f -[UIWindow _setRotatableClient:toOrientation:updateStatusBar:duration:force:] + 36
11  UIKit                               0x0000000101cddaef -[UIWindow _setRotatableViewOrientation:updateStatusBar:duration:force:] + 101
12  UIKit                               0x0000000101cdcdfe -[UIWindow _updateToInterfaceOrientation:duration:force:] + 377
13  UIKit                               0x0000000101d9b70a -[UIViewController _tryBecomeRootViewControllerInWindow:] + 147
14  UIKit                               0x0000000101cd7b1b -[UIWindow addRootViewControllerViewIfPossible] + 490
15  UIKit                               0x0000000101cd7c70 -[UIWindow _setHidden:forced:] + 282
16  UIKit                               0x0000000101ce0ffa -[UIWindow makeKeyAndVisible] + 51
17  UIKit                               0x0000000101c9cc98 -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1788
18  UIKit                               0x0000000101ca0a0c -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 660
19  UIKit                               0x0000000101cb1d4c -[UIApplication handleEvent:withNewEvent:] + 3189
20  UIKit                               0x0000000101cb2216 -[UIApplication sendEvent:] + 79
21  UIKit                               0x0000000101ca2086 _UIApplicationHandleEvent + 578
22  GraphicsServices                    0x0000000104eff71a _PurpleEventCallback + 762
23  GraphicsServices                    0x0000000104eff1e1 PurpleEventCallback + 35
24  CoreFoundation                      0x00000001003b5679 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 41
25  CoreFoundation                      0x00000001003b544e __CFRunLoopDoSource1 + 478
26  CoreFoundation                      0x00000001003de903 __CFRunLoopRun + 1939
27  CoreFoundation                      0x00000001003ddd83 CFRunLoopRunSpecific + 467
28  UIKit                               0x0000000101ca02e1 -[UIApplication _run] + 609
29  UIKit                               0x0000000101ca1e33 UIApplicationMain + 1010
30  App                        0x0000000100076503 main + 115
31  libdyld.dylib                       0x0000000103ddd5fd start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)

我认为问题是应用程序试图将我删除的视图显示为主视图,但它不存在。事实上,我没有找到任何关于我删除的旧视图的参考。

2 个答案:

答案 0 :(得分:2)

如果AMSlideMenu在尝试创建LeftMenu时遇到异常,则会尝试创建RightMenu(我不明白为什么,但这是真的)。​​

在我的情况下,左侧菜单firstSegue指向了错误的视图&#39;,因为它是一个简单的视图控制器,而不是导航控制器。我将视图控制器更改为导航控制器(指向我的原始视图控制器),并修复了它。

答案 1 :(得分:0)

将AMSlideMenuWithoutStoryboard-Prefix.pch文件设置复制到项目中的PCH文件中。