AppleScript で書いたクラスを ObjC から使う

XcodeScreenSnapz011

Snow Leopard では、AppleScript Studio の後を継いで AppleScriptObjC.framework が導入され、Cocoa の大半の機能を AppleScript から利用できるようになりました。

例えば、AppleScript から Cocoa/Objective-C のクラスを利用したり、AppleScript でそれらのクラスのサブクラスを作成できるようになりました(言い換えれば、作成しなければならなくなった …笑)。

少し残念なのは、前述の通り 「AppleScript から Cocoa の機能を利用する」ことに重点が置かれており、Cocoa/Objective-C の世界から AppleScript を利用する ことには(まだそんなに調べていませんが)重点が置かれていないようです。

ただ、AppleScript で書いたクラスも、アプリケーションの動作中には Objective-C のクラスとして存在するわけで、それにアクセスするのは、(ヒネた内部構造になっていなければ)さほど難しくないはず…。

というわけで作成したのが、今回のサンプルコードです。

サンプルコード

Interface Builder で

テーブルビューなどの UI アイテム上で Control + Shift + クリックすると…

“trick i learnt at WWDC: ctrl + shift + click on an element in an NIB. Try it. You’ll love it…”carpeaqua

“trick i learnt at WWDC: ctrl + shift + click on an element in an NIB. Try it. You’ll love it (recent IBs only).”

Jonathan Wight

どのバージョンから対応しているのか分からないので、詳しいことは書きませんが、これは知りませんでした。便利!

Objective-J/Cappuccino

Keynote.app にそっくりなインターフェースを持つウェブアプリ 280 Slides は昨日、「ふーん、すごいねえ。リアル(?)だねえ!」くらいのノリで触っていたのですが、その内部はもっとすごいことになっていた、と。

これを読んで始めは褒め言葉のつもりで、世の中にはアホな人がいるもんだなあ と思っていたのですが、冷静に見てみると、微妙になってきたかも… すごいのは確かだし、どんなふうになっているのかぜひ見てみたいですが…

Continue reading