2011年5月14日土曜日

FileManager NSTableViewのダブルクリック

ファイル表示をNSTableViwに切り替えた。今まで作っていた実験用プロジェクトがごちゃごちゃになってきたので、新たに実験用プロジェクトを作った・・・わけだが、今までつくってきたクラスを流用するのに「プロジェクトにファイルを追加」した時、今回に限って「ファイルをコピーする」チェックボックスにチェックを入れるのを忘れたため、元ファイルがそのままプロジェクトに追加されてしまった。

それを気づかずにあれこれいじって、変更したくないはずのファイルにまで変更を加えてしまった。で、さらに新しいプロジェクトを作ったりして余計な時間がかかってしまった。ま、お休みだからいいけど。

そんなんで現在の状態。

cocoa bindingは楽でいいなあ。本日初めて知ったのだが、propaty宣言はメソッドでも全然OKだった。こんなことも知らなかったなんて・・・。自分でがっかり。
後日の自分のために書いておくと、

-(NSString*)name
というメソッドは
@propaty NSString* name
と宣言できる、と。メンバ変数しかpropatyにできないのは不便だよなあ、と思って
詳解 Objective-C 2.0 改訂版
荻原 剛志
ソフトバンククリエイティブ
売り上げランキング: 5721
荻原本を読み返したらちゃんと書いてあった。がっくり。

本日はこの状態から、TableViewのダブルクリックを拾うところまで。デベロッパドキュメントを読むと

[tableView setDoubleAction:@selector(mouseDoubleClicked:)];

でいいみたいなんだけど、全然ダブルクリックが拾えず首をかしげるばかり。bindingのDouble click Targetをいじったら拾えるようになったけど、[tableView clickedRow]でクリックされた行が渡ってこない。

うーん、と腕組みしながらあちこちググったところ、

[tableView setTarget:self];

が必要だった。orzこれまたがっくり。基本的なことがまだまだわかっていないので苦労する。
そんなんで本日は「ファイルなら実行」まではなんとか実装できた。明日はディレクトリの時の処理をやってしまおう。

それから今まで腰が引けて避けてきたUserDefaultでのTabの状態の保存と復帰、という予定。どこまでできるかなあ。

0 件のコメント:

コメントを投稿