不幸的是,在互联网上没有发现任何有用的东西 – 我想知道,在
Swift中没有使用storyboard或XIB文件的情况下,我实际上必须输入什么代码才能初始化应用程序.我知道我必须有一个.swift文件叫main.但是我不知道该写什么(像我需要autoreleasepool或类似的东西).例如,我将如何初始化NSMenu,以及如何将NSViewController添加到活动窗口(iOS的类似的.rootViewController没有帮助).感谢任何帮助;)
编辑:
我实际上不想在AppDelegate前面使用@NSApplicationMain.我宁愿知道究竟发生在那里,然后自己做.
如果您不想拥有@NSApplicationMain属性,请执行以下操作:
原文链接:https://www.f2er.com/swift/318853.htmlimport Cocoa let delegate = AppDelegate() //alloc main app's delegate class NSApplication.sharedApplication().delegate = delegate //set as app's delegate // Old versions: // NSApplicationMain(C_ARGC,C_ARGV) NSApplicationMain(Process.argc,Process.unsafeArgv); //start of run loop
其余的应该在你的应用程序委托中.例如.:
import Cocoa class AppDelegate: NSObject,NSApplicationDelegate { var newWindow: NSWindow? var controller: ViewController? func applicationDidFinishLaunching(aNotification: NSNotification) { newWindow = NSWindow(contentRect: NSMakeRect(10,10,300,300),styleMask: NSResizableWindowMask,backing: NSBackingStoreType.Buffered,defer: false) controller = ViewController() let content = newWindow!.contentView! as NSView let view = controller!.view content.addSubview(view) newWindow!.makeKeyAndOrderFront(nil) } }
那么你有一个viewController
import Cocoa class ViewController : NSViewController { override func loadView() { let view = NSView(frame: NSMakeRect(0,100,100)) view.wantsLayer = true view.layer?.borderWidth = 2 view.layer?.borderColor = NSColor.redColor().CGColor self.view = view } }