Objective-c——NSLog
2013-11-15 00:17
246 查看
说明:
在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中的一些特殊的数据类及NSLog的输出格式
- Objective-C中NSLog输出格式大全
- 【006】Objective-C中NSLog的格式
- objective-c NSLog
- Objective-C中的一些特殊的数据类及NSLog的输出格式
- Objective-C 之NSLog 输出格式
- NSLog/PrintLog的使用技巧(Objective-C/Swift)
- Objective-C之NSLog
- Objective-C学习笔记--NSLog用法及例子
- Objective-c - NSLog
- objective-c Unicode转中文 重写NSLog
- 黑马程序员----objective-C description NSLog SEL
- Objective-c NSLog 的宏定义
- Objective-C 中的NSLog
- Objective-C中的一些特殊的数据类及NSLog的输出格式
- Details knowledge about Objective_C NSLog
- Objective-C NSLog 输出格式
- objective-c---分类(category)、类的深入研究、NSLog、description方法
- Objective-C初探-Objective-C NSLog 分行文字输出
- IOS疯狂基础之Objective-c 字符串操作 含NSLog的说明