我正在构建/学习我的第一个Xcode应用程序。我之前使用过C,并且正在尝试学习Objective C来构建iPhone应用程序。
我已经构建了一个简单的应用程序,当我运行iOS模拟器时,按下一个指向我的故事板中另一个屏幕的按钮,该应用程序崩溃了。到目前为止,我使用storyboard构建了整个应用程序。
这是我的整个main.m文件......
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
int main(int argc, char * argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
这是错误......
2014-03-02 21:22:04.422膳食计划生成器[4777:70b] *终止 应用程序由于未捕获的异常'NSGenericException',原因:'推 segues只能在源控制器由a管理时使用 UINavigationController的实例。' * 第一次抛出调用堆栈:(0 CoreFoundation 0x00000001018a2795 exceptionPreprocess + 165 1 libobjc.A.dylib
类型的未捕获异常
0x00000001015ee991 objc_exception_throw + 43 2 UIKit
0x00000001006ef051 - [UIStoryboardPushSegue destinationContainmentContext] + 0 3 UIKit
0x0000000100252096 - [UIApplication sendAction:to:from:forEvent:] + 80 4 UIKit 0x0000000100252044 - [UIApplication sendAction:toTarget:fromSender:forEvent:] + 17 5 UIKit 0x0000000100326450 - [UIControl _sendActionsForEvents:withEvent:] + 203 6 UIKit 0x00000001003259c0 - [UIControl touchesEnded:withEvent:] + 530 7
UIKit 0x0000000100286c15 - [UIWindow _sendTouchesForEvent:] + 701 8 UIKit 0x0000000100287633 - [UIWindow sendEvent:] + 988 9 UIKit
0x0000000100260fa2 - [UIApplication sendEvent:] + 211 10 UIKit
0x000000010024ed7f _UIApplicationHandleEventQueue + 9549 11 CoreFoundation 0x0000000101831ec1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 17 12 CoreFoundation 0x0000000101831792 __CFRunLoopDoSources0 + 242 13 CoreFoundation 0x000000010184d61f __CFRunLoopRun + 767 14 CoreFoundation
0x000000010184cf33 CFRunLoopRunSpecific + 467 15图形服务
0x00000001039923a0 GSEventRunModal + 161 16 UIKit
0x0000000100251043 UIApplicationMain + 1010 17膳食计划生成器
0x0000000100001193 main + 115 18 libdyld.dylib
0x0000000101f1a5fd start + 1)libc ++ abi.dylib:终止于 NSException(lldb)
答案 0 :(得分:1)
错误显示您正在尝试使用推送选项但视图控制器没有导航控制器。在您的故事板中单击您要尝试从编辑器部分的顶部菜单中选择嵌入的第一个视图,然后选择导航控制器。那个错误会消失。确保您的标识符也在segue的故事板中设置。或者选择segue并将其更改为modal,然后尝试编译应用程序。
答案 1 :(得分:0)
确保您的IBAction方法正确连接到.h或.m文件。您可能已设置操作并删除了方法,这将导致类无法响应选择器。
答案 2 :(得分:0)
您应该将nextviewcontroller
添加到控制器层次结构中。
答案 3 :(得分:0)
在Storyboard中选择具有按钮的视图控制器,然后选择“编辑器”菜单并选择“嵌入”并选择“导航控制器”。