[解決済み] メソッド名と行番号を出力し、NSLogを条件付きで無効にする方法は?
2022-03-21 18:49:52
質問
Xcodeでのデバッグについてプレゼンをしているのですが、NSLogを効率的に使うための情報を得たいのです。
特に、2つの質問があります。
- は、現在のメソッドの名前/行番号を簡単にNSLogする方法はありますか?
- リリースコード用にコンパイルする前に、すべてのNSLogを簡単に無効化する方法はありますか?
解決方法は?
私がよく使うNSLog周辺の便利なマクロを紹介します。
#ifdef DEBUG
# define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
#else
# define DLog(...)
#endif
// ALog always displays output regardless of the DEBUG setting
#define ALog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
DLog マクロは、変数 DEBUG が設定されているときのみ出力するために使用します (プロジェクトの C フラグの -DDEBUG は、デバッグコンフィギュレーション用です)。
ALogは常にテキストを出力します(通常のNSLogと同様です)。
出力(例:ALog(@"Hello world") )は、次のようになります。
-[LibraryController awakeFromNib] [Line 364] Hello world
関連
-
[解決済み】Objective-C。NULL、nil、@""の違いは何ですか?
-
[解決済み] Objective-CのNSLog関数でNSString型を出力する方法とは?
-
[解決済み] デバイス用にコンパイルするとApple Mach-Oのリンカーエラーが発生する。
-
[解決済み] UITableViewの選択を無効にするにはどうすればよいですか?
-
[解決済み] Xcodeエディタで行番号を確認するにはどうしたらいいですか?
-
[解決済み】iOSアプリの名前を変更する方法は?
-
[解決済み】NSLogでBooleanフラグを表示する方法は?
-
[解決済み】Cocoaでスタックトレースをコンソール/ログに出力するにはどうすればいいですか?
-
[解決済み】Swiftコンパイラーエラー。"フレームワークモジュール内の非モジュラーヘッダー"
-
[解決済み] [Solved] UITableViewがReloadDataを完了したことを伝えるには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Objective-C。NULL、nil、@""の違いは何ですか?
-
[解決済み] エラー: バイナリ式のオペランドが無効です ('float' と 'float')
-
[解決済み] クラス vs. #インポート
-
[解決済み] Objective-Cで抽象クラスを作成する
-
[解決済み] ブロック内の変数をブロック外の変数に代入する
-
[解決済み】Xcode 6でProjectName-Prefix.pchが自動的に作成されないのはなぜですか?
-
[解決済み】タイトル変更時に不要なUIButtonのアニメーションを停止させる方法は?
-
[解決済み】idの代わりにinstancetypeを使い始めるのは有益でしょうか?
-
[解決済み] プロダクションコードでNSLog()を使ってはいけないというのは本当ですか?
-
[解決済み] iPhoneでObjective-Cを使ったNSLogのメソッド名表示