XcodeでのNSLog出力はマクロを使おう。
[ProjectName]-prefix.pchに以下をコピペすることで、デバッグ時にだけログを出力することができるようになります。(リリース時にはログは出力されません)
使い方は簡単で、これをコピペしておいて、編集先で
1 | LOG(@"%@",hoge) |
みたいな使い方をします。新たにプロジェクトを作成する際にこれを忘れず設定しておくと、以降の作業が円滑に進むことでしょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #ifdef DEBUG #define LOG(...) NSLog(@"[line:%d] %s %@",__LINE__, __PRETTY_FUNCTION__, [NSString stringWithFormat:__VA_ARGS__]) #define DLog(...) NSLog(@"[line:%d] %s %@",__LINE__, __PRETTY_FUNCTION__, [NSString stringWithFormat:__VA_ARGS__]) #define ALog(...) [[NSAssertionHandler currentHandler] handleFailureInFunction:[NSString stringWithCString:__PRETTY_FUNCTION__ encoding:NSUTF8StringEncoding] file:[NSString stringWithCString:__FILE__ encoding:NSUTF8StringEncoding] lineNumber:__LINE__ description:__VA_ARGS__] #define LOG_CURRENT_METHOD NSLog(@"[line:%d] %@/%@",__LINE__, NSStringFromClass([self class]), NSStringFromSelector(_cmd)) #else #define DLog(...) do { } while (0) #ifndef NS_BLOCK_ASSERTIONS #define NS_BLOCK_ASSERTIONS #endif #define ALog(...) NSLog(@"[line:%d] %s %@",__LINE__, __PRETTY_FUNCTION__, [NSString stringWithFormat:__VA_ARGS__]) #define LOG(...) #define LOG_CURRENT_METHOD #endif |
余談ですが、同時に以下のようなコードを書いておくと、ちょっとハッピーになるかもしれません。
1 2 | #define WIDTH self.view.frame.size.width #define HEIGHT self.view.frame.size.height |