我是OSX编程新手,最近开始为OS X 10.10开发一个演示项目。发现这个 - > http://cocoatutorial.grapewave.com/tag/menulet/在OSX状态栏中添加menulet的好教程。问题是我的项目使用的是快速语言,方法和项目结构/文件有些不同。我想知道是否有人在优胜美地成功试过这个?感谢。
编辑:具体问题是如何替换awakefromnib方法以使用现有的AppDelegate.swift语法?
答案 0 :(得分:3)
整件事就是这个......
class AppDelegate: NSObject, NSApplicationDelegate {
@IBOutlet var window: NSWindow // Remove this and delete window in IB to remove window
// ... also, remove MainMenu from IB.
@IBOutlet var statusMenu: NSMenu
var statusItem: NSStatusItem? = nil
func applicationDidFinishLaunching(aNotification: NSNotification?) {
// Insert code here to initialize your application
}
func applicationWillTerminate(aNotification: NSNotification?) {
// Insert code here to tear down your application
}
override func awakeFromNib() {
self.statusItem = NSStatusBar.systemStatusBar().statusItemWithLength(CGFloat(NSVariableStatusItemLength))
self.statusItem!.menu = self.statusMenu
self.statusItem!.title = "Status"
self.statusItem!.highlightMode = true
}
@IBAction func doSomethingWithMenuSelection(sender : AnyObject) {
println("Action pressed")
}
}
我只是从你的链接复制它,并翻译成Swift。它仍然显示一个窗口等,这应该是微不足道的删除... 更新显示如何......
(当然我在Yosemite上运行)