Objective-c——NSLog

说明:

在Objective-C中,NSLog相当于C语言中的printf,常用于文字输出,并支持 自动换行

NSLog的定义

NSLog定义在NSObjCRuntime.h中,如下所示:
void NSLog(NSString *format, …);
基本上,NSLog很像printf,同样会在console中输出显示结果。不同的是,传递进去的格式化字符是NSString的对象,而不是char *这种字符串指针。

格式

表1的NSString格式化方法和CFString字符串格式化功能支持的格式说明符

符号 描述
%@ Objective-C的对象
%% ‘%’  字符
%d, %D,%i 有符号32位整数(INT
%u, %U 32位无符号整型(unsigned int类型
%hi 符号的16位整数(short 
%hu 16位无符号整数(unsigned short)
%qi 符号64位整数(long long 
%qu 64位无符号整数(unsigned long long 
%x 32位无符号整型(unsigned int类型),打印十六进制数字(0-9),小写a-F
%X 32位无符号整型(unsigned int类型),打印十六进制数字0-9和大写字母A-F
%qx 64位无符号整数(unsigned long long),打印十六进制数字(0-9),小写a-F
%qX 打印 64位无符号整数(unsigned long long),使用十六进制数字0-9和大写字母A-F
%o, %O 32位无符号整型(unsigned int类型),打印八进制
%f 64位浮点数(double 
%e 64位浮点数(double),打印科学记数法使用小写字母e来引入指数
%E 64位浮点数(double),打印科学记数法,用一个大写字母E,引入指数
%g 64位浮点数(double ),印刷%e 的风格,   当指数小于-4或大于等于精度, 否则%f 的风格 
%G 64位浮点数(double ),印刷%E 的风格,   当指数小于-4或大于等于精度, 否则%f 的风格 
%c 8位无符号字符(unsigned char ),打印  NSLog的()  作为一个ASCII字符,或者如果不是一个ASCII字符,八进制格式  \ \ DDD  或Unicode十六进制格式  \ \ udddd,  ð  是一个数字的
%C 16位的Unicode字符(unichar ),NSLog的()  作为一个ASCII字符,或者,如果不是一个ASCII字符,印制  八进制格式  \ \ DDD  或Unicode十六进制格式  \ \ udddd,  ð  是一个数字的
%s 8位无符号字符数组的空值终止的。  %s的  解释,例如,其在系统中的编码,而不是输入UTF-8。
%S 16位的Unicode字符NULL结尾的数组
%p void指针(void *的十六进制数字0-9),印刷和小写A-F,与一家领先的  为0x
%L 长度修饰符指定,一个  一个,  à,  ë ë,  F,   F , ,或  ĝ的  转换说明适用于  long double   参数
%a 64位浮点数(double),印在科学记数法与一家领先的  为0x  和一个十六进制数字,小数点前使用小写的  p  引进指数
%A 64位浮点数(double),印在科学记数法与一家领先的  0X  和一个十六进制数字,小数点前用一个大写的  P  引入指数
%F 64位浮点数(double),印在十进制记数法
%z 长度修饰符指定以下的  D,  í,  ó,  ü,  x,或 X  转换说明适用于一个  为size_t  或相应的有符号整数类型参数
%t 长度修饰符指定ð,  ,  í,  O,  U,  X,或 X  转换说明适用一个  ptrdiff_t  或相应的无符号整数类型参数
%j 长度修饰符指定以下的  D,  í,  ó,  ü,  x,或 X  转换说明适用于一个的  将intmax_t  或  uintmax_t  参数

示例

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 );
结果
2013-10-09 15:29:08.523 ocTest[2192:303] Hello, World!
声明: 本文采用  BY-NC-SA 协议进行授权. 转载请注明转自:  Objective-c——NSLog
此条目发表在 objective-c分类目录,贴了 NSLog,  objective-c标签。将 固定链接加入收藏夹。

你可能感兴趣的:(Objective-c)