Navegación de aplicaciones multiview para Mac OS X Cocoa

Ya pasé 2 días completos tratando de averiguar cómo usar NSViewControllers para crear una aplicación multivista.

Esto es lo que hago.

Tengo 2 controladores de visualización y la ventana de MainMenu.xib. También tengo un controlador de aplicación que es el delegado de ambos controladores de vista.

Cuando lanzo la aplicación, primero me saludan con la vista de la ventana de MainMenu.xib que contiene un botón. Al hacer clic en este botón, se envía una IBAction al appController y solicita que se muestre el SecondViewController para mostrar su plumilla. Hasta ahora, todo está bien y el archivo de plumilla se muestra correctamente.

En el secondViewController, hay otro botón que envía otra IBAction al appController y solicita que se muestre el FirstViewController, pero no pasa nada, no se produce ningún error, ninguna advertencia ... Cualquier ayuda sería muy apreciada ... Gracias de antemano por su paciencia. ..

Aquí está el código para el 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

y aquí está el código para el 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

Bueno, cualquiera puede ayudarme, solo necesito una aplicación de vista única que muestre un primer ViewController con un botón en el primer viewController que me lleve a un segundo controlador de vista con un segundo botón que me lleve de vuelta a mi primer viewcontroller ... Ya pasé más de una semana en eso ... en vano ... PD: No quiero ningún botón en la ventana principalMenú.xib ni en las pestañas.

Respuestas a la pregunta(3)

Su respuesta a la pregunta