While writing Nibble, my native Apple I emulator for Mac OS X and iOS, I realized an Open Recent menu would be beneficial to users who want to quickly open recently-loaded memory dumps. In standard Document-based applications, AppKit automatically registers newly-opened files as recents. Unfortunately, it doesn’t make much sense to make an emulator a Document-based application.
Luckily, even Non-Document-based applications contain an Open Recent menu, ready to be populated. Further,
NSDocumentController makes it extremely easy to register recently-accessed files through its
-noteNewRecentDocumentURL: method. AppKit will magically append the file at the passed URL to the Open Recent menu; it will even enable the Clear Menu item when necessary! When the user opens a recent file, AppKit will invoke the
-application:openFile: method on
NSApplication’s delegate object.
The complete code listing can be found below: