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

问题描述 投票:0回答:1

我一整天都在绞尽脑汁,这看起来很简单,但我无法弄清楚。

我有一个使用 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个回答
0
投票

ModalViewController 中没有任何值得关注的内容。

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

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

困扰我好几次的一个问题是如果你不调用 [super loadView];首先在您重写的 loadView 方法中。不这样做会导致进入该视图控制器时崩溃。

© www.soinside.com 2019 - 2024. All rights reserved.