2010年9月27日 星期一

[iPhone] Logging 利用 NSLog 加上 __FILE__ __FUNCTION__ __LINE__

為了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達成另外一種效果, 真的相當厲害!!

2010年9月7日 星期二

[Mac 指令] 在 Vim 中使用 PageDown PageUp Home End

打開 terminal->偏好設定->鍵盤
把下列按鍵改成右邊的格式, 更改時想寫入\033必須按下"Esc"!!

Home \033[1~
End \033[4~
PageUp \033[5~
PageDown \033[6~

之後操縱用 fn+上下左右 就可以了!!