1.要输出的格式化占位:
%@ 对象
%d, %i 整数
%u 无符整形
%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位双字
2.用法:
NSLog定义在NSObjCRuntime.h中,如下所示:
void NSLog(NSString *format, …);
NSLog (@”this is a test”);
NSLog (@”string is :%@”, string);
NSLog (@”x=%d, y=%d”, 10, 20);
int i = 123456;
NSLog( @”%d”, i );
3.输出NSRange,CGRect等结构体使用对应的转换
{
NSStringFromCGPoint
NSStringFromCGSize
NSStringFromCGRect
NSStringFromCGAffineTransform
NSStringFromUIEdgeInsets
}
方法: NSLog(@"rect: %@", NSStringFromCGRect(rectX));
4.NSLog 打印bool值
如你有一个 bool型 变量 : ifChoose; 你想在控制台输出 它的值。 在程序中想看到他的值的地方加入如下代码:
方法: NSLog(@"ifChoose value: %@" , ifChoose?@"YES":@"NO");
5. NSURL 打印方法absoluteString
NSURL *url = [NSURLURLWithString:@"http://www.baidu.com/search?id=1"];
2NSLog(@"scheme:%@", [url scheme]); //协议 http
3NSLog(@"host:%@", [url host]); //域名 www.baidu.com
4NSLog(@"absoluteString:%@", [url absoluteString]); //完整的url字符串http://www.baidu.com:8080/search?id=1 (刚才在真机上跑了一下,并没有打印出来端口 8080 啊)
5NSLog(@"relativePath: %@", [url relativePath]); //相对路径 search
6NSLog(@"port :%@", [url port]); // 端口 8080
7 NSLog(@"path: %@", [url path]); // 路径 search
8NSLog(@"pathComponents:%@", [url pathComponents]); // search
9 NSLog(@"Query:%@", [url query]); //参数 id=1
文中有些方法来自于网络, 经过实践可以正确使用,如果原创作者觉得不妥请联系博主删除.