Cela semble que cela devrait être facile, mais il me manque quelque chose. J'ai une application basée sur un document. J'ai également construit un nouveau XIB qui a un NSTableView et trois boutons là-dessus que j'ai l'intention d'afficher une liste des dossiers précédents. Je souhaite que ce XIB soit affiché à la place de la fenêtre de document au premier démarrage de l'application. Une fois que l'utilisateur sélectionne un ancien fichier ou touche le bouton "Nouveau", je souhaite aller dans la fenêtre du document. C'est très commun et j'ai vu utilisé assez souvent.Démarrage d'une application basée sur un document Cocoa montre d'abord la fenêtre de sélection
Dans mes tentatives pour que cela fonctionne, j'ai modifié le fichier project-info.plist et modifié le nom de base du fichier NIB principal de MyDocument en mon nom XIB de sélection. Cela provoque l'application pour afficher la fenêtre Sélection au lieu de la fenêtre MyDocument. Il semble n'y avoir aucun problème jusqu'à présent.
Dans ma fenêtre de sélection, j'ai configuré ma vue de table et un contrôleur de tableau et un contrôleur de fenêtre personnalisé juste pour ce XIB. J'ai défini le propriétaire du fichier sur le nouveau contrôleur de fenêtre et lié la propriété window du contrôleur de fenêtre à la fenêtre et la propriété déléguée de Window au propriétaire du fichier ainsi que les boutons "Select", "Cancel" et "New". Rien n'est lié à NSApplication. Mais la chose étrange est quand je lance cette application, il semble vouloir relier ces contrôleurs à NSApplication avec l'erreur (même pour les deux autres boutons):
Impossible de se connecter le SelectButton d'action: pour cibler la classe NSApplication
Il affiche également une erreur indiquant que NSApplication n'est pas compatible avec les valeurs-clés pour la prise qui contient des références à ma baie. Le contrôleur de tableau, la fenêtre et les boutons ne sont pas liés à NSApplication mais au nouveau contrôleur de fenêtre. Je m'attendais à ce que s'il y avait un problème, ne mentionne pas NSApplication mais plutôt le contrôleur de fenêtre auquel les contrôleurs sont liés.
Quelqu'un sait ce qui se passe ici? Est-ce un problème d'action-cible parce que j'ai changé le "nom principal de base de fichier de NIB" du "menu principal" en "sélection"? Si je ne suis pas censé changer cela, alors comment puis-je obtenir Cocoa me permettre d'afficher un écran de sélection avant de montrer la fenêtre de document?
Toute aide est grandement appréciée. Rob
Cela a beaucoup aidé. Une partie de ce qui m'a découragé est que les applications de document utilisant des données de base ne créent pas automatiquement le délégué d'application. Une fois le délégué créé, j'ai pu arrêter la création automatique et ouvrir ma fenêtre initiale. Merci beaucoup! – Rob