読み込み中...Now loading...

このサイトではCSS, JavaScriptを有効にする必要があります。
推奨ブラウザ: Safari 2.0以上。
動作確認ブラウザ: FireFox 2.0, Opera 9.01 (どれもMac OS X上)
読み込みが完了しても、このメッセージが表示されている場合は、CSSとJavaScriptを有効にしてリロードして下さい。
・
ようこそ「ひあるび日記 - 20050911」へ
・
・
ひあるび日記

前年|翌年|
前月|翌月|
前日|翌日
2005年09月11日(日): あれこれ。
選挙権を得てから投票は一度も欠かしたことはないので、例に洩れず今日も行って参りました、投票。
我が母校が投票所。
いやぁ、校舎の中に入ると何故か不意に当時を思い出したりなんかしたりして。
ん?
今までは投票は校舎ではなく体育館だったような…。
なになに?
たゃーくかんはアスベストがあるで使えぇせんのだわ。
なるほど。
6年間アスベスト吸い放題だったわけか。
ガッテンガッテン。
卒業10年目にして知る真実。
────────────────────
ある日、エリザベスは
「あるファイルを作成日・ファイルタイプなどの付加情報やファイルのアイコンとともにアーカイブ化したあとで、非アーカイブ化して同じ付加情報・アイコンをもった同じファイルを作成する」
というプログラムを考えていました。
その為には、非アーカイブ化して保存した先のファイルの付加情報とアイコンをいじる必要がありました。
最初、エリザベスはNSFileWrapperというクラスを使うことを思いつきました。
NSFileWrapperは、その名の通り、ファイルの内容も付加情報もアイコンも纏めて一つのオブジェクトとして扱えるクラスでした。
しかし、NSFileWrapperには欠点がありました。
他のファイルに書き出したりアーカイブ化したりすると、付加情報の一部やアイコンなどの情報が失われてしまうのです。
そこで、エリザベスは考えました。
NSFileWrapperのインスタンスメソッド、
- (NSDictionary *)fileAttributes 
- (NSImage *)icon 
などで、付加情報やアイコンを事前に取り出しておいて、アーカイブ化すればいいのだと。
非アーカイブ化のときは、NSFileManagerのインスタンスメソッド、
- (BOOL)createFileAtPath:(NSString *)path contents:(NSData *)contents attributes:(NSDictionary *)attribute 
を使えばいいのだと。
しかし、エリザベスはまた愕然としました。
このままでは、アイコンを設定できないのです。
NSFileWrapper, NSFileManagerでは、ファイルのアイコンを変更することはできないのです。
もちろん、NSFileHandleでは到底無理です。
それでも、神様は見捨てませんでした。
NSWorkspaceというクラスを与え給うたのです。
NSWorkspaceには、
- (BOOL)setIcon:(NSImage *)image forFile:(NSString *)fullPath options:(unsigned)options 
というメソッドがあったのです。
これで万事解決です。
しかし、手放しでは喜べませんでした。
このメソッドは、Available in Mac OS X v10.4 and later.
………!
そうです。
たかがファイルのアイコンを変更するソフトでも、Cocoaを使う限り“Tiger以上”がシステム条件になってしまうのです。
なんだ馬鹿野郎。

コメント
  1. からす said:
    初めまして、からすです。
    NSFileWrapperにある
    - (void)setIcon:(NSImage *)anImage

    Availability

    * Available in Mac OS X v10.0 and later.
    となってますがどうでしょうか
    at 2007/03/31(Sat) 22:24:41
  2. >からす さん
    ご指摘ありがとうございます。
    確かにちゃんとメソッドがありますね。
    ただ、この日記を書いた二年前に自分が何を考えていたのかが思い出せないことが問題だという気もします。(あれ
    at 2007/04/01(Sun) 16:09:08

お名前
メールアドレス(※メールアドレスは公開されません)
URL
コメント

トラックバック
トラックバックURL:
http://yockow.net/-/trackback/20050911

現在この日記へのトラックバックはありません。一番乗りしますか?
「来たよ。」ボタン
?
close
管理人に空メールを送るためのボタン。
つまりはデジタルピンポンダッシュ。
管理人にメールを送るまでではないが、
サイトに訪問した足跡を残したい時に使えます。
・
ロールちゃん
・
PR
・
close
・
Google Searchは、JavaScriptを有効にする必要があります。
x!
警告
警告文