[解決済み] iPhoneでObjective-Cを使ったNSLogのメソッド名表示
2022-04-27 10:14:21
質問
現在、ログのクラス名とソース行番号を出力する拡張ログ機構を自分たちで定義しています。
#define NCLog(s, ...) NSLog(@"<%@:%d> %@", [[NSString stringWithUTF8String:__FILE__] lastPathComponent], \
__LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__])
例えば、NCLog(@"Hello world")を呼び出すと。 と出力されます。
<ApplicationDelegate:10>Hello world
今度は、メソッド名をログアウトさせるようにしたい。
<ApplicationDelegate:applicationDidFinishLaunching:10>Hello world
このように、どのメソッドが呼ばれているのかがわかると、デバッグが楽になりますね。Xcodeのデバッガもありますが、ログアウトしてデバッグすることもあります。
どのように解決するのですか?
print(__FUNCTION__) // Swift
NSLog(@"%@", NSStringFromSelector(_cmd)); // Objective-C
Swift 3 以上
print(#function)
関連
-
[解決済み】Objective-C。NULL、nil、@""の違いは何ですか?
-
[解決済み] イニシャライザーの要素がコンパイル時定数でない
-
[解決済み] 配列の場合、なぜ a[5] == 5[a] になるのでしょうか?
-
[解決済み] Objective-Cのtypedef enumとは何ですか?
-
[解決済み] Objective-Cで、オブジェクトの種類をテストするにはどうしたらいいですか?
-
[解決済み] Xcode 4でNSZombieEnabledを設定するにはどうすればよいですか?
-
[解決済み] メソッド名と行番号を出力し、NSLogを条件付きで無効にする方法は?
-
[解決済み] objectForKeyとvalueForKeyの違い?
-
[解決済み】NSDateで年/月/日を取得する。
-
[解決済み] NSLogで使用するための "toString() "に相当するObjective-Cは何ですか?
最新
-
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のNSLog関数でNSString型を出力する方法とは?
-
[解決済み] UILabelのフォントサイズ?
-
[解決済み] Objective-Cで乱数を発生させる
-
[解決済み] メソッド名と行番号を出力し、NSLogを条件付きで無効にする方法は?
-
[解決済み] CocoaPodsを使用している場合、.gitignoreには何が入るのでしょうか?
-
[解決済み] objectForKeyとvalueForKeyの違い?
-
[解決済み】Windows版Objective-C
-
[解決済み】iOS 7.0とシステム劣化で無効なコンテキスト0x0が表示される
-
[解決済み】このブロックで自己を強く捉えると、リテインサイクルになりそうです。
-
[解決済み】NSStringが特定の文字で始まるかどうかを確認する方法