現在のメソッドをログ ステートメントの一部として出力する特別なNSLog
メソッド スウィズルがあります。
Objective-C メソッドの場合、次を使用するマクロがあります。NSStringFromSelector(_cmd)
Objective-C 以外のメソッドについては、定義されていない__PRETTY_FUNCTION__
ので使用する 2 つ目のマクロがあります。_cmd
私は現在、両方に同じマクロを使用しようとしているので、それが定義されているかどうかをテストしようとしており、次のようにできると考えています。
NSString *command = (&_cmd != nil ? NSStringFromSelector(_cmd) : [NSString stringWithCString:__PRETTY_FUNCTION__ encoding:NSUTF8StringEncoding])
Use of undeclared identifier '_cmd'
ただし、Objective-C 以外のメソッドでマクロを使用すると、まだいくつかのエラーが発生します。_cmd
が定義されているかどうかを判断する実行時テストを行うにはどうすればよいですか?