"=" 要らないけど文字列は@が必要だったりしてややこしかったのでメモ。
数値
#define NANIKA 100
NSString *str = [NSString stringWithFormat:@"%d", NANIKA];
NSLog(str);
=> 100
大文字、小文字で別扱い
#define NANIKA 100
#define nanika 200
NSString *str = [NSString stringWithFormat:@"%d & %d", NANIKA, nanika];
NSLog(str);
=> 100 & 200
計算
#define NANIKA 100
#define nanika 200
NSString *str = [NSString stringWithFormat:@"%d", NANIKA + nanika];
NSLog(str);
=> 300
文字列
@が必要
#define MOJI mojidesuyo
NSLog(MOJI);
=> ビルドエラー
#define MOJI "mojidesuyo"
NSLog(MOJI);
=> ビルドは通るけど呼び出し時にクラッシュ
#define MOJI @"mojidesuyo"
NSLog(MOJI);
=> mojidesuyo
stringWithFormatと組み合わせられる
#define NANIKA 100
#define nanika 200
#define MOJI @"%d は %d より %d 大きい"
NSLog([NSString stringWithFormat:MOJI, nanika, NANIKA, nanika - NANIKA]);
=> 200 は 100 より 100 大きい