Pracuję nad zupełnie nową aplikacją OS X i podjąłem śmiały sposób pracy z kilkoma technologiami, których wcześniej nie używałem. (Jestem programistą iOS.)W jaki sposób OS X ładuje aplikację opartą na scenorysach i w jaki sposób zarządza oknami?
Używam Storyboards, Swift i Core Data w mojej aplikacji, wszystko z szablonu Xcode. Kiedy moja aplikacja się uruchamia, tworzy NSWindowController z Storyboard.
W innej aplikacji OS X wykonanej w Objective-C używam metody delegowania applicationShouldHandleReopen:hasVisibleWindows:
, aby nakazać sterownikowi okna wywołanie okna kontrolera okna.
Wiem, że semantyka języka pozostaje taka sama w Swift, ale Core Data i Storyboards pozostawiają mi dwa pytania.
Czy fakt, że mój projekt wykorzystuje dane podstawowe, zmienia go w "aplikację opartą na dokumentacji", a zatem zmienia sposób zarządzania oknami?
W moim starym projekcie używam stalówek zamiast storyboardów. Wygląda na to, że ręcznie robię instancję
NSWindowController
i używam go do zarządzania ponownym otwarciem. Jeśli jest jakiś sposób, aby dostać się do tego, co moja Storyboard niewątpliwie dla mnie robi, byłoby to optymalne, prawda? Czy po prostu dołączasz do mojego Delegata aplikacji drogę do wyjścia? Czy istnieje inna konwencja?
pokrewne: http://stackoverflow.com/questions/3683349/nswindowcontroller-clarification-of-understanding – Moshe
Odgryzłeś za dużo naraz. – uchuugaka
Architektura dokumentów jest zupełnie inna i dodaje więcej do hierarchii. Każda instancja NSDocument może mieć wiele kontrolerów okien. Zalecam najpierw osobne rozwiązywanie scenorysów, danych podstawowych i łuku dokumentów. – uchuugaka