按下按钮时应用程序崩溃; iOS模拟

Posted

技术标签:

【中文标题】按下按钮时应用程序崩溃; iOS模拟【英文标题】:App Crashes when button is pressed; iOS Sim 【发布时间】:2014-03-03 02:08:25 【问题描述】:

我正在构建/学习我的第一个 Xcode 应用程序。我以前用过 C,现在正在尝试学习 Objective C 来构建 iPhone 应用程序。

我构建了一个简单的应用程序,当我运行 ios 模拟器并按下一个指向故事板中另一个屏幕的按钮时,应用程序崩溃了。到目前为止,我已经使用故事板构建了整个应用程序。

这是我的整个 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”,原因:“推送 仅当源控制器由 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 核心基础 0x0000000101831ec1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 17 12 核心基础 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) 类型的未捕获异常

【问题讨论】:

见raywenderlich.com/10209/my-app-crashed-now-what-part-1 当您发布这样的问题时,您必须始终包含完整的错误消息。 对不起。我将包含错误消息。它位于哪里?另外,@rmaddy 我会读到的!看起来像一篇高质量的文章! @rmaddy 我已经添加了完整的错误消息(我相信)。 【参考方案1】:

错误表明您正在尝试使用推送选项,但您的视图控制器没有导航控制器。在您的故事板中单击您尝试推送的第一个视图,然后从编辑器部分的顶部菜单中选择嵌入,然后选择导航控制器。该错误将消失。确保您的标识符也在故事板中为 segue 设置。或者选择 segue 并将其更改为 modal,然后尝试,应用程序将编译。

【讨论】:

【参考方案2】:

确保您的 IBAction 方法正确连接到您的 .h 或 .m 文件。您可能已经设置了操作并删除了方法,这将导致类无法响应选择器。

【讨论】:

对不起,我不太明白!但我会看的! @jfrankum 现在您已经发布了错误,您可以忽略这个答案。与您的问题无关。【参考方案3】:

您应该将nextviewcontroller 添加到控制器层次结构中。

【讨论】:

【参考方案4】:

在 Storyboard 中选择具有按钮的视图控制器并选择“编辑器”菜单并选择“嵌入”并选择“导航控制器”。

【讨论】:

以上是关于按下按钮时应用程序崩溃; iOS模拟的主要内容,如果未能解决你的问题,请参考以下文章

使用内置 MonkeyTalk 最小化应用程序时 iOS 应用程序崩溃

iphone ios 应用程序主页按钮按下/applicationDidEnterBackground 崩溃

React Native Facebook 登录按钮在 iOS 模拟器中使应用程序崩溃

按下保存按钮时应用程序崩溃

按下 UITextView 上的链接时应用程序崩溃

在子视图中按下按钮时应用程序崩溃