Wygląda na to, że powinno być łatwe, ale muszę czegoś pomijać. Mam aplikację opartą na dokumencie. Zbudowałem również nowy XIB, który ma NSTableView i trzy przyciski na nim, które zamierzam wyświetlić listę poprzednich plików. Chciałbym, aby XIB był wyświetlany zamiast okna dokumentu, gdy aplikacja jest uruchamiana po raz pierwszy. Gdy użytkownik wybierze stary plik lub kliknie przycisk "Nowy", chcę przejść do okna dokumentu. Jest to bardzo powszechne i widziałem często używane.Uruchamianie aplikacji opartej na dokumencie Cocoa pokazuje najpierw okno wyboru
W moich próbach uzyskania tej pracy zmodyfikowałem plik project-info.plist i zmieniłem nazwę głównej bazy danych NIB z MyDocument na moją wybraną nazwę XIB. Powoduje to, że aplikacja wyświetla okno wyboru zamiast okna MyDocument. Wydaje się, że nie ma problemu do tej pory.
W moim oknie wyboru ustawiłem widok tabeli oraz kontroler tablic i niestandardowy kontroler okien tylko dla tego XIB. Ustawiłem właściciela pliku na nowy kontroler okna i powiązałem właściwość okna kontrolera okna z oknem i właściwością delegata okna z właścicielem pliku, a także przyciskami "Wybierz", "Anuluj" i "Nowy". Nic nie jest związane z NSApplication. Ale dziwne jest to, kiedy uruchomić tę aplikację Wydaje chcą połączyć te kontrolery do NSApplication z błędem (tak samo dla pozostałych dwóch przycisków):
nie może połączyć się z selectButton działania: do docelowej klasy NSApplication
Wyświetla również komunikat o błędzie, że aplikacja NSApplication nie jest zgodna z kluczem wartości dla gniazda, które zawiera odniesienie do mojej tablicy. Kontroler, okno i przyciski Array nie są powiązane z aplikacją NSA, ale z nowym kontrolerem okien. Spodziewałbym się, że gdyby wystąpił jakikolwiek problem, NIE wspomniałbym o NSApplication, ale raczej o kontrolerze okien, do których kontrolery są związane.
Ktoś wie, co się tutaj dzieje? Czy jest to problem docelowy, ponieważ zmieniłem "Główną nazwę bazy pliku NIB" z "Menu główne" na "Wybór"? Jeśli nie mam tego zmienić, to w jaki sposób mogę pozwolić, aby Cocoa pozwolił mi wyświetlić ekran wyboru przed wyświetleniem okna dokumentu?
Każda pomoc jest bardzo doceniana. Rob
To bardzo pomogło. Niektóre z tego, co mnie rzuciło, to to, że aplikacje do dokumentów używające danych podstawowych nie tworzą automatycznie delegata aplikacji. Po utworzeniu delegata mogłem zatrzymać automatyczne tworzenie, a następnie otworzyć moje początkowe okno. Wielkie dzięki! – Rob