サンプルアプリは Xcodeで新規プロジェクトを作成する時に「Core Data Application」テンプレートを使った。
イメージを下に示す。
テンプレートによって作成された sp4_AppDelegate はほとんど触らず、別途 MyControllerを作成してこれに Viewとの相手をさせる。画像(Item)の管理は NSMutableArray で行っている。Itemは NSManagedObjectであり CoreDataで管理されているのだが、Viewで扱う場合はNSArrayの方が何かと扱いやすい。NSArrayControllerを作りこれを今回の WorkViewとつなげられれば良いのだが、自前でバインディングを導入する方法がわからないため今回は断念(そもそもそんなことができるのだろうか)。
ドラッグされた画像の保存は以前紹介した Pasteboard Managerを使っている。コードも以前紹介したサンプルのまんま。