2011年5月19日木曜日

Cocoa FileManager NSOutlineView bug原因判明

OutlineViewのrootItemを取得するのに、autoreleaseをうかつにつけていたのがbugの原因だった。(^^;)
rootディレクトリにアクセスしようとした時だけメモリのエラーでこけるので、最近追加したコードでrootItemに触っていたのを思い出してよくよく見てみたらすぐにわかった。

うー、ちょっと慣れてくるとこういうエラーコードを書いてしまう。気をつけよう。
GC有効にしてもいいのだろうけれど、GC有効にしたとたんTabの中身のViewが全部同じになってしまう、というよくわからない動作をするので今のところパス。

iOSのプログラミングにも当然興味があるわけで、GCで楽するのはもう少し後、と考えている。

さて、これで

この状態から、rootの三角をクリックすると無事

こうなる、と。しかしこの状態でもう一度rootの三角を押すと

OutlineViewの選択行ハイライトは当然消えている。これはFinderでもXcodeでも同じ動作なので仕方のないところ。しかしこれだと「右側のペインはどのディレクトリの中身か」がわかりづらいので、NavigateViewを作っていく。つまりXcodeでいう

今日気づいたんだけれど、結局自分は「Xcode4と同じようなインターフェイスのファイルマネージャ」をつくろうとしているらしい。ふむ、それもおもしろいか。それならそれで目標がはっきりしていていいかも。

0 件のコメント:

コメントを投稿