NSLog簡介
在Objective-C中,NSLog相當於C語言中的printf,常用於文字輸出。
NSLog的定義
NSLog定義在NSObjCRuntime.h中,如下所示:
void NSLog(NSString *format, …);
基本上,NSLog很像printf,同樣會在console中輸出顯示結果。不同的是,傳遞進去的格式化字元是NSString的對象,而不是char *這種字元串指針。
示例
NSLog可以如下面的方法使用:
NSLog (@"this is a test");
NSLog (@"string is :%@", string);
NSLog (@"x=%d, y=%d", 10, 20);
但是下面的寫法是不行的:
int i = 12345;
NSLog( @"%@", i );
原因是, %@需要顯示對象,而int i明顯不是一個對象,要想正確顯示,要寫成:
int i = 12345;
NSLog( @"%d", i )。
格式
NSLog的格式如下所示:
%@ | 對象 |
%d, %i | 整數 |
%u,%z | 無符整形 |
%f | 浮點/雙字 |
%x, %X | 十六進制整數 |
%o | 八進制整數 |
%zu | size_t |
%p | 指針 |
%e | 浮點/雙字 (科學計算) |
%g | 浮點/雙字 |
%s | C字元串 |
%.*s | Pascal字元串 |
%c | 字元 |
%C | unichar |
%lld | 64位長整數(long long) |
%llu | 無符64位長整數 |
%Lf | 64位雙字 |
%hhd | BOOL布爾類型 |