2010-07-21 14 views
5

Io sono uno sviluppatore esperto, una novità per lo sviluppo Mac, così hoCocoa Application Bootstrap Domande

Ci sono ancora molte lacune e sto facendo fatica a trovare buoni valori leggibili. Alcune delle mie domande sono elencate di seguito. Questi sono molto semplici/generali. Ci deve essere un documento breve e conciso che descriva il processo di bootstrap delle app di base e tutte le classi coinvolte. Grazie!

  • Il "delegato" che viene generato da XCode contiene istanze di NSPersistentStoreCoordinator, NSManagedObjectModel, e NSManagedObjectContext - dettagli per favore?
  • Il delegato è dichiarato "@interface tests_AppDelegate: NSObject {". Perché manca il protocollo? Vedo esempi in rete con esso lì.
  • Vedo che il delegato dell'applicazione è istanziato all'interno di Interface Builder. Dove viene passato nell'istanza di NSApplication?
+0

Sono confuso. Stai chiedendo di sviluppo Mac (Cocoa) o sviluppo iOS (Cocoa Touch)? –

risposta

1

Il "delegato" che viene generato da XCode contiene istanze di NSPersistentStoreCoordinator, NSManagedObjectModel, e NSManagedObjectContext - dettagli per favore?

Questo è roba Core Data.

Il delegato è dichiarato "@interface tests_AppDelegate: NSObject {". Perché manca il protocollo? Vedo esempi in rete con esso lì.

Probabilmente una svista. AppKit non ha sempre un protocollo NSApplicationDelegate formale. È possibile che Apple non abbia semplicemente aggiornato i modelli. Potresti file a bug.

Vedo che il delegato dell'applicazione viene istanziato all'interno di Interface Builder. Dove viene passato nell'istanza di NSApplication?

Fare clic con il pulsante destro del mouse sull'oggetto dell'applicazione. Scoprirai che la sua presa delegate è connessa all'oggetto delegato.

1
  1. happenes che solo se si utilizza il modello per applicazioni CoreData-based. Leggi Core Data basics.

  2. Il protocollo è stato solo formalizzato in OS X 10.6. È stato fatto in modo informale prima di quello. Finché il delegato implementa il selettore menzionato nel riferimento, viene chiamato. Non è strettamente necessario che il delegato adotti esplicitamente un protocollo. Certo che è meglio farlo. Vedi NSApplicationDelegate reference. Ogni voce ha il commento

    Disponibile in Mac OS X v10.0 e versioni successive. Disponibile come parte di un protocollo informale precedente a Mac OS X v10.6.

  3. Nella Interface Builder si vede il delegato viene assegnato alla presa "delegato" del proprietario del file: tasto destro del mouse sul file del proprietario e si può vedere che. I file pennino contengono oggetti congelati creati nell'IB. Quando l'app legge MainMenu.nib come parte del processo di inizializzazione, assegna NSApp come proprietario del file. Così il delegato dell'app istanziato e congelato all'interno del file pennino viene assegnato allo NSApp di delegate. Leggi Nib Files.