可能你曾经有过Windows编程的经验,通常在你调试程序的时候,如果希望看到某个中间结果,你会习惯使用MessageBox来显示中间的结果。
有了Cocoa的NSLog,你在写Cocoa程序的时候,就可以无需每次都调用NSAlert来观察中间结果了。
NSLog的定义
NSLog定义在NSObjCRuntime.h中,如下所示:
void NSLog(NSString *format, …);
基本上,NSLog很像printf,同样会在console中输出显示结果。不同的是,传递进去的格式化字符是NSString的对象,而不是chat *这种字符串指针。
示例
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 无符整形
%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位双字
分享到:
相关推荐
在iOS开发中,debug时经常要用到NSLog输出内容,debug完成后又需要去掉,比较麻烦,内容也不够详细。参考网上资源,扩展NSLog并利用宏替换实现按class打开或关闭的详细的NSLog输出,可以方便使用。
Teleport-NSLog, iOS远程日志记录将NSLog消息发送到后端服务器 传送 nslog 当你的应用程序在用户的设备中运行时,传送... 在Xcode中调试时,我们使用NSLog将许多有用的消息打印到控制台。 当应用程序在用户设备中运行
IOS上线项目NSLog处理
XCode用NSLog输出系统字体名称!不知道系统都有那些字体的!可以参照此Demo
iphone 开发学习基础NSLog,初学者使用。
nslog输出格式 iphone开发 非常好用的nslog,提供各种格式的输出。
特性:1)使用CC_LOG代替NSLog,并且提供更加详细的输出信息。使用方法和NSLog完全一致; 2)使用CC_LOG_VALUE直接打印各种值; 3)支持Log记录,支持Developer UI; 4)支持捕获Crash信息,区分普通Log和Crash Log;...
NSLog时常用的打印格式,记不住的保留看看
但是一个发布的程序,里面带有太多的NSLog输出,肯定对于App性能有所影响,这时候我们可以使用一个宏定义来处理,在开发的时候使用DEBUG模式,在发布的时候使用RELEASE模式。这样,发布的App就不会在程序内部做大量...
使用方法: 在全局头文件中(.pch 文件) 中重新宏定义 NSLog #define NSLog(format, ...) do { \ (NSLog)((format), ##VA_ARGS); \ dispatch_async(dispatch_get_main_queue(), ^{ \ [[NSNotificationCenter ...
本文给大家介绍的是iOS开发中关于nslog的输出时机的相关内容,非常简单实用,有需要的小伙伴可以参考下
iphone 开发学习项目创建及调试输出NSLog,初学者
iphone开发学习笔记(1)--NSLog
我们在真机测试时经常会发现一个难题是无法查看真机的NSLog类型的实时日志,这时候需要RD复现问题来定位当时的日志,以方便查找问题。这个问题在测试中是非常常见的,也是功能测试会花费比较长时间的一个原因。 以下...
这个简单的库(充满了预处理器的魔力)隐藏了 NSLog 并添加了一个名为 DLog 的“调试”NSLog 命令。 在你需要的地方导入BetterNSLog.h ,你就可以开始了。 这... NSLog(format,...) ...印刷: [APPNAME] ...
网上有很多关于解决WKWebView错误日志不停打印 [Process] kill() returned ...其实我们可以通过重定向NSLog,过滤掉不需要的信息,然后使用非标准错误流输出日志信息。下面是实现代码: Swift版本 #if DEBUG pr
输出格式大全,对于新手编程有很大的帮助,非常方便
MLog 为您提供了更多传统 NSLog 无法获得的调试信息,例如方法名称、行号等。 ###如何使用它? 使用MLog/MDLog的区别在于,一个打印日期和时间,另一个在MDLog中没有'D'表示它打印日期。 输出类似于...