Nitrogen の謎

使うばかりではアレなので、HorliX/Horos/OsiriX のソースコードを読む。

早速、AppController(現在でいうところの AppDelegate です)の init メソッド内の以下のところでつっかかる。

AppController.m

[[NSFileManager defaultManager] removeItemAtPath:[[NSFileManager defaultManager] tmpDirPath] error:NULL];

なんだよ tmpDirPath って(笑)。

もちろん、ノーマル NSFileManager にこんなメソッドはなく、おそらくどこかで拡張してんだろうなあと物色したら、Nitrogen というフォルダ(のサブフォルダ)に収められていた。

しかし、なんだろ、Nitrogen って?

Objective-C におけるクラスの拡張(というのだろうか?オーバーライドといっていい)は、カテゴリを使うという手法があるようだ。
カテゴリによって新たにつくられたクラスは、慣例的に「元のクラス+特徴」というファイル名を持つ。

だから、上の例では NSFileManager+N2.h と NSFileManager+N2.m で NSFileManager の拡張機能を担っている。

この N が Nitrogen から来ているのでは?と想像はつくが、なぜ Nitrogen というネーミングにしたんだろうねと疑問に思ったという次第です。

 

クリックclose

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です