Objective-Cがオワコン化する前にちょっとためになるかもしれないやつを書いておく。
iOSアプリ内で使う定数を1ファイルでまとめて管理するいい方法がないかを調べたときにどこかで見つけたもので、マクロの有無で宣言と定義を分けるという方法があった。
この方法を使うことで変数宣言と定義を1ファイルにまとめることができるようになった。変更箇所が一箇所で済むので少し便利になる。
// Constants.h
#undef _EXTERN
#undef _INITIALIZE_AS
#ifdef XOYIP_DEFINE_GLOBALS
#define _EXTERN
#define _INITIALIZE_AS(x) =x
#else
#if defined(__cplusplus)
#define _EXTERN extern "C"
#else
#define _EXTERN extern
#endif
#define _INITIALIZE_AS(x)
#endif
_EXTERN NSString *const kAccessToken _INITIALIZE_AS(@"YOUR_ACCESS_TOKEN");
_EXTERN NSString *const ...
_EXTERN NSString *const ...
// Constants.m
#define XOYIP_DEFINE_GLOBALS
#import "Constant.h"