Here is a document class replacement for managing your library-style app based on Core Data. All the goodness of NSDocument / UIDocument with just the right functionalities when you don’t need to expose document-management functionality to your users.
Cocoa’s document architecture envisions that a window should only handle one document. However library-type applications may need one window to handle multiple documents so that the user can easily switch between libraries without restarting the application. Here’s how you can hack AppKit so that a single window handle multiple documents.
Core Data now officially supports concurrency and I/O in background threads since OS X 10.7 and iOS 5. In the same release, Apple also brought the document architecture to iOS that leverages this new capability of Core Data. However OS X didn’t get the same level of multicore love. In this post, I’ll show you how to create a multi-core supporting document architecture application for OS X.