Когда начинается мое приложение (на основе документа), я открываю все последние документы. Все документы начинаются в отдельных окнах. Моя цель - открыть все в одном окне на вкладках.Приложение на основе документов - как открыть последние документы, объединенные в одном окне
0
A
ответ
0
В Swift попробуйте следующее: в вашем делете делегат реализовать applicationDidFinishLaunching, вызвав «window.mergeAllWindows», где «окно» - это окно первого оконного контроллера первого документа. Обратите внимание, что mergeAllWindows доступен в Mac OS 10.12.
«DispatchQueue.main.asyncAfter» был использован для обеспечения восстановления окон к моменту создания имени mergeAllWindows, вы можете предпочесть лучший способ обеспечить восстановление всех окон.
func applicationDidFinishLaunching(_ aNotification: Notification) {
let dc = NSDocumentController.shared()
// …
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now()) {() -> Void in
if dc.documents.count > 0 {
let doc = dc.documents[0]
let wcs = doc.windowControllers
guard let window = wcs[0].window else { return }
if #available(OSX 10.12, *) {
window.mergeAllWindows(self)
} else {
// Fallback on earlier versions
}
}
}
}