為了Debug並且在Release的時候不會把Log顯示給用戶看到, 建議加一個 #ifdef, 並且可以利用 __FILE__, __FUNCTION__, __LINE__, 加速Debug的進度.
#ifdef _DEBUG_
NSLog(@"%s %s %d", __FILE__, __FUNCTION__, __LINE__);
#endif
如果要再寫的更漂亮, 可以做一個自己的Class, 再利用這Class做Logging, 能讓程式看起來更簡潔, 不會#ifdef在程式裡面一直重複出現.
例如:
+ (void) log: (NSString *) func: (NSString *) file: (int) line: (NSString *) str{
#ifdef _DEBUG_
NSLog(@"%s:%s:%d:%@", func,file,line, str);
#endif
}
如果有更好的方法, 也請看到的人不吝指教!!
另外找到一篇很cool的方法
http://stackoverflow.com/questions/969130/nslog-tips-and-tricks/969291#969291
#define ALog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
利用一行#define達成另外一種效果, 真的相當厲害!!
沒有留言:
張貼留言