Così comincio a imparare a usare Cocoa. Penso di averlo capito, ma sono costretto a creare e cambiare visualizzazioni. Sto riscrivendo un gioco che ho fatto un po 'di tempo fa per fare pratica. Tutto quello che voglio è una finestra (preferibilmente non ridimensionabile) e voglio essere in grado di cambiare le visualizzazioni per diversi schermi nel gioco.Come si cambiano le viste in un'applicazione Cocoa?
Per prima cosa, ho il menu principale (Inizia partita, Punteggi più alti, Esci). Quindi ho bisogno di una finestra per ogni schermata (schermata di gioco, schermata punteggi).
Ciò di cui mi sto confondendo è come progettarlo. Ho cercato NSViewController pensando di gestire le visualizzazioni ma non è così. Gestisce solo una vista caricandola davvero. Non capisco perché dovrei usare NSViewController quindi. Non potrei avere solo una classe di finestre che contiene sottoclassi multiple di NSView e caricarle in quel modo? Non sono sicuro di capire lo scopo del ViewController.
La mia classe Window ha davvero bisogno di sottoclasse NSWindowController? Stavo cercando di seguire l'esempio di esempio ViewController di Apple e ha una classe controller di finestra che è una sottoclasse di NSWindowController. Non vedo quale fosse lo scopo della sottoclassi di quello. Sembra che tutto il NSWindowController aggiunga sia - initWithPath:(NSString *)newPath
ma non riesco a vederne l'utilizzo quando posso semplicemente modificare il file plist per aprire la finestra all'avvio. L'esempio di Apple ha anche una variabile NSView e una variabile NSViewController. Non ti serve solo una variabile per memorizzare la vista corrente?
Grazie in anticipo ragazzi, sono davvero confuso su come funziona.
Sto preparando Cocoa sul desktop in questo momento. –
stessa interfaccia disponibile in Desktop (NSView) –
Quindi quello che mi piacerebbe sapere è perché dovrei usare NSViewController. Dovrei? Devo creare una sottoclasse di NSWindowController con una variabile NSView e NSViewController? Non sono sicuro di cosa sia veramente necessario per creare una finestra con viste commutabili. Da quanto ho capito, non ho affatto bisogno di NSViewController, ma non so perché l'esempio di Apple l'ha usato e dovrebbe rendere le cose più facili per te. –