【问题标题】: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 没有什么有趣的东西。

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

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

【问题讨论】:

  • 你为什么不看看编译器输出,看看它为什么会崩溃?它通常会给你一个理由。

标签: ios presentmodalviewcontroller


【解决方案1】:

ModalViewController 没有什么有趣的东西。

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

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

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

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

没有

【讨论】:

  • 感谢您的提示。我听从了你的建议,但问题仍然存在。我敢肯定,我错过了这样一件小事。
  • 是的 - 它通常很小!很抱歉我的提示没有帮助!如果你使用 XIB 文件来布局你的视图,那里也可能有问题。无论如何 - 祝你好运找出问题所在!
猜你喜欢
  • 2010-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多