頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


Objective-Cのdefineは便利なの?

人様のコードを見たりしてて、#defineなる文字列がコードの先頭の方にたまに見かけることに気がつきました。

#define PI 3.141592654
なんてあれば察しがつきますが、PIって文字があれば定義した値に変えてくれるというもので、マクロというそうです。
関数でも定義できるそうで、
#define degreeToRadian(x) (M_PI * (x) / 180.0)
なんて使い方もできるそうな。

なるほど。
こりゃ便利だ、と思いつつ、、、
でもクラスファイルがたくさんあると、いちいちファイルの先頭に定義をコピペするのもあれかな、と。

ということで、結局
MyMath
というNSObjectを継承した、ベタな名前のクラスを作りまして、そこに
+(float) degreeToRadian:(float)deg{
return M_PI * deg / 180.0;
}
なんてクラスメソッドを定義。

NSLog(@"sin(90)=%.5f",sin([MyMath degreeToRadian:90]));
ってな感じで使うことに。

まあこれも使いたいファイルの先頭に
#import "MyMath.h"
ってコピペする必要があるけど、まあこっちの方が管理しやすい気がしてます(現時点では、ですが)。

<< 第454回のBIG1000を1口買った  TopPage  これはよくできてるぞ!Coin Dozer >>

コメント


管理者にだけ表示を許可する
 

トラックバック

トラックバックURL
http://ringsbell.blog117.fc2.com/tb.php/375-a57240cb




Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.

FC2Ad