2010-12-28 24 views
0

Ich habe den ganzen Tag mit dem Kopf gegen den Kopf geschlagen, es scheint etwas Einfaches zu sein, aber ich kann es nicht herausfinden.Warum stürzt meine iOS-App beim Testen von presentModalViewController ab?

Ich habe eine iOS App, die ich mit der Vorlage "View-based Application" in XCode erstellt habe. Hier ist im Wesentlichen der Code, den ich habe:

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 

Es gibt nichts von Interesse in der ModalViewController.

So sollte die modale Ansicht angezeigt werden, wenn die Taste gedrückt wird. Wenn ich den Knopf drücke, bleibt er eine Sekunde lang stehen und stürzt dann ohne Fehlermeldung zum Startbildschirm zurück.

Ich bin ratlos, bitte zeigen Sie mir, was ich falsch mache!

+0

Warum sehen Sie nicht auf die Compiler-Ausgabe und sehen, warum es abstürzt? Es würde dir normalerweise einen Grund geben. – jini

Antwort

0

Es gibt nichts von Interesse in der ModalViewController.

Obwohl es möglicherweise nichts von Interesse gibt, könnte es immer noch etwas geben, das das Problem verursacht.

Überschreibt Ihr View Controller die Funktion loadView?

Ein Problem, das mich ein paar Mal hat ist, wenn Sie nicht [Super LoadView] aufrufen; Zuerst in Ihrer überschriebenen loadView-Methode. Wenn Sie dies nicht tun, führt dies zu einem Absturz beim Verschieben in diesen View Controller.

Viel Glück bei dem Versuch, dieses zu lösen!

N

+0

Danke für den Tipp. Ich habe deinen Rat befolgt, aber das Problem ist immer noch da. Ich bin mir sicher, dass es eine kleine Sache ist, die ich vermisse. – SeanR

+0

Ja - es ist oft etwas Kleines! Es tut mir leid, mein Tipp hat nicht geholfen! Wenn Sie XIB-Dateien zum Layout Ihrer Ansichten verwenden, könnte auch etwas daran falsch sein. Wie auch immer - viel Glück, um herauszufinden, was los ist! –

Verwandte Themen