【Objective-C】プロジェクト共通のマクロをまとめてみた
複数のクラスから参照したい共通のマクロを一つのファイルにまとめました。
とりあえず、この回で作った指定範囲の乱数を返すMYRANDマクロや、基本のフレームレートを示すFPSマクロを定義するCommon.hという共通ヘッダファイルを作りました。
#define MYRAND(x, y) ((arc4random()/(float)UINT_MAX)*((y)-(x))+(x)) #define FPS 60.0
このヘッダファイルを他の多数の実装ファイルから#importするのは大変なので、Prefix.pchファイルに追加します。
Prefix.pchファイルはXcodeのプロジェクトのSupporting Filesフォルダーに入っています。こんな感じに先ほど作成したCommon.hファイルを追加してあげるとプロジェクト内のどのクラスからもこれらのマクロを使用できるようになります。
#import <Availability.h> #ifndef __IPHONE_3_0 #warning "This project uses features only available in iPhone SDK 3.0 and later." #endif #ifdef __OBJC__ #import <UIKit/UIKit.h> #import <Foundation/Foundation.h> #import "Common.h" #endif