Mac OS X Cocoa Multiview-Anwendungsnavigation

Ich habe bereits 2 volle Tage damit verbracht, herauszufinden, wie NSViewControllers zum Erstellen einer Multiview-Anwendung verwendet werden kann.

Hier ist was ich tue.

Ich habe 2 View Controller und das MainMenu.xib-Fenster. Ich habe auch einen AppController, der als Delegat für beide View Controller fungiert.

Wenn ich die App starte, werde ich zuerst mit der Ansicht des MainMenu.xib-Fensters begrüßt, die eine Schaltfläche enthält. Wenn Sie auf diese Schaltfläche klicken, wird eine IBAction an den appController gesendet und der SecondViewController wird aufgefordert, seine Schreibfeder anzuzeigen. Bisher ist alles in Ordnung und die NIB-Datei wird korrekt angezeigt.

Auf dem secondViewController gibt es eine weitere Schaltfläche, die eine weitere IBAction an den appController sendet und die Anzeige des FirstViewControllers anfordert, aber nichts passiert, kein Absturz, keine Warnung ... Jede Hilfe wäre sehr willkommen ... Vielen Dank im Voraus für Ihre Geduld. ..

Hier ist der Code für den AppController.h:

#import <Foundation/Foundation.h>
#import "SecondViewController.h"
#import "FirstViewController.h"

@interface AppController : NSObject

@property (strong) IBOutlet NSWindow *mainWindow;

@property (strong) IBOutlet SecondViewController *secondViewController;
@property (strong) IBOutlet FirstViewController *firstViewController;


- (IBAction)secondButtonfromsecondViewControllerClicked:(id)sender;

- (IBAction)buttonClicked:(id)sender;

@end

und hier ist der Code für den AppController.m:

#import "AppController.h"


@implementation AppController
@synthesize mainWindow = mainwindow;
@synthesize secondViewController;
@synthesize firstViewController;

- (IBAction)buttonClicked:(id)sender {

     NSLog(@"button from second View Controller clicked");

     self.secondViewController = [[SecondViewController  
     alloc]initWithNibName:@"SecondViewController" bundle:nil];
     self.mainWindow.contentView = self.secondViewController.view;
     [self.secondViewController.view setAutoresizingMask:NSViewWidthSizable | 
     NSViewHeightSizable];
}

 - (IBAction)secondButtonfromsecondViewControllerClicked:(id)sender {

     NSLog(@"button from first ViewController clicked");

     self.firstViewController = [[FirstViewController 
     alloc]initWithNibName:@"FirstViewController" bundle:nil];
     self.mainWindow.contentView = [self.firstViewController view];

}


@end

Nun, jeder kann mir helfen, ich brauche nur eine einzige Ansichtsanwendung, die einen ersten ViewController mit einer Schaltfläche auf dem ersten ViewController anzeigt, die mich zu einem zweiten ViewController führt, mit einer zweiten Schaltfläche, die mich zurück zu meinem ersten ViewController führt ... I Habe schon mehr als eine Woche damit verbracht ... vergebens ... PS: Ich möchte keine Schaltfläche im mainMenu.xib-Fenster und keine Registerkarten.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage