Pregunta

Estoy de sumergirse en el desarrollo iPad y estoy aprendiendo mucho con rapidez, pero dondequiera que miro, tengo algunas preguntas. Después de crear una nueva aplicación SplitView en Xcode usando la plantilla, que genera la clase AppDelegate, clase RootViewController y clase DetailViewController. Junto con ello, se crea un archivos .xib para MainWinow.xib y DetailView.xib.

  1. ¿De qué manera estos cinco archivos trabajan juntos?
  2. ¿Por qué hay un archivo semilla para la DetailView, pero no el RootView?
  3. Al hacer doble clic en el archivo MainWindow.xib, lanzamientos Interface Builder sin una ventana "Vista", ¿por qué?
  4. A continuación se muestra el código para el método dentro de la clase didFinishLaunchingWithOptions AppDelegate. ¿Por qué estamos añadiendo la splitViewController como subvista?

    (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
    
    // Override point for customization after app launch    
    rootViewController.managedObjectContext = self.managedObjectContext;
    
    // Add the split view controller's view to the window and display.
    [window addSubview:splitViewController.view];
    [window makeKeyAndVisible];
    
    return YES;
    

    }

Muchas gracias de antemano por toda su ayuda! Todavía tengo mucho que aprender, así que pido disculpas si esta pregunta es absurda de ninguna manera. Voy a seguir investigando estas preguntas ahora!

¿Fue útil?

Solución

MainWinow.xib es la ventana por defecto creado por cada proyecto toque de cacao. Es la ventana se añaden todas las otras ventanas para, por lo general en el AppDelegate.

AppDelegate, estoy suponiendo que ya conoce. Esta es la clase base para su aplicación.

SplitViewController es un UISplitViewController y se añade a MainWindow.xib para usted, utilizando IB, pero no agrega a la ventana en MainView.xib hasta didFinishLaunchingWithOptions:. Se ejecute

Por defecto SplitViewController gestiona dos ViewControllers como una conveniencia para usted. Normalmente, estos son una UITableView (llamado RootViewController en la plantilla), y una UIViewController (llamado DetailViewController). Aunque se puede eliminar por completo estos si lo desea.

RootViewController es simplemente una UITableViewController. Se añade a SplitViewController en IB.

DetailViewController es un UIViewController, y también se agrega a IB en MainWindow.xib para usted.

  

¿Por qué hay un archivo semilla para la   DetailView, pero no el RootView?

Creo DetailView se carga desde un archivo semilla para facilitar la gestión de memoria. Pero con la misma facilidad podría haber sido creado mediante programación. No hay una punta para el RootView porque ya se ha agregado e inicializado en UISplitViewController. Podría fácilmente haber sido cargada desde un archivo xib.

  

Cuando haga doble clic en el   MainWindow.xib archivo, Interface Builder   lanzamientos sin una ventana "Vista", ¿por qué?

Esta plantilla por defecto usa un iPad UISplitViewController llama SplitViewController y no un UIView Llamado Ver como otras plantillas de iPhone.

  

A continuación se muestra el código de   método didFinishLaunchingWithOptions   dentro de la clase AppDelegate. Por qué son   que la adición de la splitViewController como   subvista?

SplitViewController sólo existe en la MainWindow.xib, no se agrega a la ventana (en MainWindow.xib). Por lo tanto, se añade aquí. Si se anida en SplitViewController no habría ninguna necesidad de añadir en el AppDelegate.

Este es el documento que desea leer

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top