Skip to content

Instantly share code, notes, and snippets.

@jarek-foksa
Created July 23, 2014 22:43
Show Gist options
  • Save jarek-foksa/f52817f44e23b805d594 to your computer and use it in GitHub Desktop.
Save jarek-foksa/f52817f44e23b805d594 to your computer and use it in GitHub Desktop.
import Cocoa
class MainMenuController : NSObject, NSMenuDelegate {
init() {
}
private func forEach(callback: (NSMenuItem)->()) {
func walk(menu: NSMenu) {
for item in menu.itemArray {
callback(item as NSMenuItem)
if item.hasSubmenu {
walk(item.submenu)
}
}
}
walk(NSApp.mainMenu)
}
}
@kongtomorrow
Copy link

class MainMenuController : NSObject, NSMenuDelegate {

func walk(menu: NSMenu, callback:(NSMenuItem)->()) {
    for item in menu.itemArray as [NSMenuItem] {
        callback(item)

        if item.hasSubmenu {
            walk(item.submenu, callback)
        }
    }
}

func forEach(callback: (NSMenuItem)->()) {
    walk(NSApp.mainMenu, callback)
}

}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment