为啥我的 iOS 应用程序在尝试 presentModalViewController 时会崩溃?

Posted

技术标签:

【中文标题】为啥我的 iOS 应用程序在尝试 presentModalViewController 时会崩溃?【英文标题】:Why does my iOS app crash when trying presentModalViewController?为什么我的 iOS 应用程序在尝试 presentModalViewController 时会崩溃? 【发布时间】:2010-12-28 09:29:48 【问题描述】:

我一整天都在努力解决这个问题,这似乎很简单,但我想不通。

我有一个使用 XCode 中的“基于视图的应用程序”模板创建的 ios 应用程序。这基本上是我拥有的代码:

AppDelegate.h:

#import <UIKit/UIKit.h>
@interface AppDelegate : NSObject <UIApplicationDelegate> 
    UIWindow *window;
    MainViewController *viewController;

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet MainViewController *viewController;
@end

AppDelegate.m:

#import "AppDelegate.h"
#import "MainViewController.h"
@implementation AppDelegate
@synthesize window, viewController;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions     
    [self.window addSubview:viewController.view];
    [self.window makeKeyAndVisible];
    return YES;

- (void)dealloc 
    [viewController release];
    [window release];
    [super dealloc];

@end

MainViewController.h:

#import <UIKit/UIKit.h>
@interface MainViewController : UIViewController 

-(IBAction) button:(id)sender;
@end

MainViewController.m:

#import "MainViewController.h"
#import "ModalViewController.h"
@implementation MainViewController
...
-(IBAction) button:(id)sender 
    ModalViewController *mvc = [[[ModalViewController alloc] initWithNibName:NSStringFromClass([ModalViewController class]) bundle:nil] autorelease];
    [self presentModalViewController:mvc animated:YES];

@end

ModalViewController 没有什么有趣的东西。

所以当按钮被按下时,模态视图应该会显示出来。当我按下按钮时,它会挂起一秒钟然后崩溃回到主屏幕,没有错误消息。

我很难过,请告诉我我做错了什么!

【问题讨论】:

你为什么不看看编译器输出,看看它为什么会崩溃?它通常会给你一个理由。 【参考方案1】:

ModalViewController 没有什么有趣的东西。

虽然可能没有任何有趣的东西,但仍有可能导致问题。

您的视图控制器是否覆盖了函数 loadView?

我遇到过几次的一个问题是,如果你不调用 [super loadView];首先在您覆盖的 loadView 方法中。不这样做会在移动到该视图控制器时导致崩溃。

祝你好运尝试解决这个问题!

没有

【讨论】:

感谢您的提示。我听从了你的建议,但问题仍然存在。我敢肯定,我错过了这样一件小事。 是的 - 它通常很小!很抱歉我的提示没有帮助!如果你使用 XIB 文件来布局你的视图,那里也可能有问题。无论如何 - 祝你好运找出问题所在!

以上是关于为啥我的 iOS 应用程序在尝试 presentModalViewController 时会崩溃?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我在尝试运行我的 iOS 应用程序时收到错误“找不到 FirebaseCore/FirebaseCore.h”文件

为啥我在 iOS 设备上尝试读取已发送到我的应用程序的文件时,在 OpenUrl 函数中出现权限错误?

为啥我的 Flutter 应用在​​ iOS 上启动时会崩溃?

为啥我的 iOS 应用没有显示在其他应用的“打开方式”对话框中?

为啥在 iOS 7 中我的本地通知没有显示横幅

为啥我的 iOS 设备不扫描广告扩展程序?