Chcę utworzyć programowo nowe okno za pomocą Swift, ale Nie mogłem znaleźć sposobu na sukces. Ten prosty kod nie wyświetla nowego okna. Co jest nie tak z moim kodem?Utwórz programowo NSWindow w Swift
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
@IBOutlet weak var window: NSWindow!
func applicationDidFinishLaunching(aNotification: NSNotification) {
let win = NSWindow(contentRect: NSMakeRect(100, 100, 600, 200),
styleMask: NSResizableWindowMask,
backing: NSBackingStoreType.Buffered, defer: true)
let controller = NSWindowController(window: win)
controller.showWindow(self)
win.makeKeyAndOrderFront(win)
}
}
"Co się stało z moim kodzie?" Jedną z rzeczy, która jest oczywiście błędna, jest to, że wszystkie zmienne są lokalne. Tak więc kontroler okien i twoje okno znikają w obłoku dymu, gdy funkcja dobiega końca. Są to obiekty wyłącznie tymczasowe. – matt
Chciałbym, żeby była jakaś odpowiednia dokumentacja na ten temat. Nie można znaleźć żadnego. – DisplayName