Moon is a Merciful Mistress.




今日のココアプログラミング
2008年10月19日22:06
一通りToDoアプリを作ってみました。
とりあえず普通に動くんですが、でもToDoでいちいちファイルをオープン・クローズってあり得ないので、自動でファイルのオープン・クローズに挑戦。

結論。
Cocoa Document-based Applicationを選択してNSDocumentクラスを使ってる時点で、かなり無理がある(;´Д`)

まあオープン時に自動的にファイルを読み込ませるのはなんとかなった。問題はクローズ時で、ファイル変更履歴をNSDocumentが管理してるので、dealloc時に自動セーブかけてもメニューからセーブしない限りはセーブしてないと思ってダイアログで聞いてくる。大きなお世話じゃ(;´Д`)
しょうがないのでウィンドウのクローズ時にその辺の手続きを一気にバイパスヽ(´ヮ`)/おかげでウィンドウをクローズしても確認が出ないように(当たり前だ)。その代わりログに警告が残るけど。問題はいきなりアプリを終了したときにNSDocumentのdeallocを通ってくれないこと。もう一段階オーバーライドしないと駄目なのか(;つД`)。

ということで、ToDoアプリを作る場合はCocoa Document-based Applicationに頼らずにやるのが正解ですね。ってそこに至るまでにどんだけ時間をかけてるんだ(;´Д`)

まあ来るべきiPhoneアプリを作る場合にはこっからやることはないので、まあいいか。


by7n-ysmr@asahi-net.or.jp