ddLogLevel
ログシステム cocoalumberjack のログレベルとして認識しています。クラスを「オーバーライド」する代わりに (グローバル変数であるため、そのようなことはありません)、Fine Grained Loggingと呼ばれるものを実行する必要があります。つまり、ビットマスクの次のビットを使用してログを定義し、グローバル定数を、フラグを含むか除外するマスクのビット単位の組み合わせに設定します。リンク先のページで詳しく説明されています。例:
これらの定義を追加
#define LOG_FLAG_FOOD_TIMER (1 << 4) // 0...0010000
#define LOG_FOOD_TIMER (ddLogLevel & LOG_FLAG_FOOD_TIMER)
#define DDLogFoodTimer(frmt, ...) ASYNC_LOG_OBJC_MAYBE(ddLogLevel, LOG_FLAG_FOOD_TIMER, 0, frmt, ##__VA_ARGS__)
次に、クラスでこのマクロをログ ステートメントとして使用します。
DDLogFoodTimer(@"blah");
グローバルを次のように設定します。
static const int ddLogLevel = LOG_LEVEL_WARN | LOG_FLAG_FOOD_TIMER;
C および Objective-C では、constキーワードは読み取り専用変数を作成します。キーワード const apply は、すぐ左にあるものすべてに適用されます。左側に何もない場合、すぐ右側にあるものに適用されます。例:
// a modifiable pointer to a constant integer (its value can't be modified).
const int * i;
// Constant pointer to constant integer.
const int const * i;
externは、変数が別の場所で定義されていることを示します。次のようにグローバル変数を定義するのが一般的なスタイルです。
// header file (outside the class definition)
extern NSString* PREFS_MY_CONSTANT;
// implementation file (outside the class definition)
NSString* PREFS_MY_CONSTANT = @"prefs_my_constant";