Wie man richtig einen root-view-controller?

Nach dem Update auf xCode 4.2 ich erhalte die folgende Warnung...

Anwendungen zu erwarten sind, root-view-controller am Ende der Anwendung zu starten

Nach Lesen, so viel wie ich finden konnte Online über den RootViewController ich bin mir nicht sicher, ob ich habe meine root-view-controller ordnungsgemäß. Ich habe es vor langer Zeit, als ich das erste learning Programm in xCode.

Eine Frage, die ich habe, ist es ok, um den Namen der root-view-controller etwas anderes als RootViewController. Jedes Beispiel sehe ich, jetzt hat es mit dem Namen RootViewController. Ich sehe es auch so synthetisiert, die in der app delegieren, wie dies...

@synthesize rootViewController = _rootViewController;

Ich verstehe nicht, was dieser tut. Warum nicht einfach...

@synthesize rootViewController;

In jedem Fall änderte ich den Namen meines root-Ansicht-controller zu RootViewController und folgte dem Beispiel fand ich bei cupsofcocoa.com. Aber auch nach den änderungen bin ich noch immer das "...zu erwarten, dass ein root-controller..." - Warnung.

Wenn jemand hat die Zeit zu nehmen Sie einen Blick und lassen Sie mich wissen, was ich bin fehlt, die ich aufgezählt habe, die die wesentliche Teile von meinem code für die Initialisierung unten.

Dank,

John

  //RootViewController.h
#import <UIKit/UIKit.h>

@interface RootViewController : UIViewController  {   

}
@end

.

  //RootViewController.m
#import "RootViewController.h"
#import "JetLoggerAppDelegate.h"

@implementation RootViewController
@end

.

  //JetLoggerAppDelegate.h   my app delegate 
#import <UIKit/UIKit.h>
@class RootViewController;

@interface JetLoggerAppDelegate : NSObject <UIApplicationDelegate> {
    UIWindow *window;
    RootViewController *rootViewController;

}

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet RootViewController *rootViewController;
@end

.

  //.m app delegate
#import "JetLoggerAppDelegate.h"
#import "RootViewController.h"   //I don't think I need this here

@implementation JetLoggerAppDelegate

@synthesize window;
@synthesize rootViewController = _rootViewController;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    if ([launchOptions count] == 0) {
        _rootViewController = [[RootViewController alloc] init];
        self.window.rootViewController = self.rootViewController;
        [window makeKeyAndVisible];        
        return YES;

    }else{
        [JLHelper showAlertWithTitle:@"" message:[NSString stringWithFormat:@"launchOptions: %@", launchOptions]];

    }

    return NO;

}

.

  //main.m
#import <UIKit/UIKit.h>

int main(int argc, char *argv[]) {
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    int retVal = UIApplicationMain(argc, argv, nil, @"JetLoggerAppDelegate");
    [pool release];
    return retVal;
}

InformationsquelleAutor user278859 | 2011-10-16

Schreibe einen Kommentar