Чтобы восстановить окно, вы можете установить Restoration ID в Interface Builder. Это будет использоваться как часть ключа, под которым фрейм хранится в NSUserDefaults. - но это не всегда помогало мне.
NSWindow
имеет setFrameUsingName(_:)
и т. Д. Для настройки этого, как писал @BadmintonCat, и вы также можете сериализовать положение окна вручную, в случае, если это тоже не работает.
Самым простым решением в моем приложении было использование свойства NSWindowController.windowFrameAutosaveName
и его значение в awakeFromNib(_:)
. Эта единственная строка повлияла на загрузку и сохранение.