可能你曾经有过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输出,可以方便使用。
然而,在项目上线后,`NSLog`的过度使用可能会导致性能问题,因为日志信息会被写入设备的控制台,并可能暴露敏感数据。因此,对于iOS上线项目中的`NSLog`处理,我们需要采取一些策略来确保应用的稳定性和安全性。 ...
Teleport-NSLog, iOS远程日志记录将NSLog消息发送到后端服务器 传送 nslog 当你的应用程序在用户的设备中运行时,传送... 在Xcode中调试时,我们使用NSLog将许多有用的消息打印到控制台。 当应用程序在用户设备中运行
在“XCode用NSLog输出系统字体名称Demo”中,开发者通常会遍历系统所有的字体资源,然后使用`NSLog`函数将它们的名字输出到控制台。这可以通过访问`UIFont`类的`+availableFonts`方法实现,该方法返回一个包含所有...
在iOS开发中,Objective-C是主要的编程语言之一,尤其对于初学者来说,理解并熟练使用NSLog是非常重要的。NSLog是苹果提供的一个用于在控制台打印日志信息的工具,它在调试代码、追踪问题时起着至关重要的作用。本篇...
6. Objective-C编程实践:对于浮点数的输出,NSLog使用%f格式符,因此C选项正确。A选项和D选项会因为尝试将浮点数转换为整数而输出错误的结果。B选项表示编译错误,因为%f应该用于浮点数。 7. 数据类型转换:将...
在给定的代码中,我们可以看到使用了freopen函数来控制NSLog的输出。该函数可以将输出重定向到指定的文件中,从而实现日志的保存和读取。例如,在saveDEBUGlog方法中,我们使用freopen函数将日志输出到指定的文件中...
本篇笔记将详细介绍`NSLog`的使用和其在iPhone应用开发中的作用。 `NSLog`是Foundation框架的一部分,用于向控制台输出文本信息。它在Objective-C和Cocoa Touch环境中扮演着类似Java中`System.out.println`的角色,...
在iPhone应用开发中,使用Objective-C语言进行编程时,熟练掌握项目创建流程以及利用`NSLog`进行调试是至关重要的技能,尤其是对于初学者而言。本文将从创建一个新的Xcode项目开始,深入讲解如何使用`NSLog`来输出...
但是一个发布的程序,里面带有太多的NSLog输出,肯定对于App性能有所影响,这时候我们可以使用一个宏定义来处理,在开发的时候使用DEBUG模式,在发布的时候使用RELEASE模式。这样,发布的App就不会在程序内部做大量...
nslog输出格式 iphone开发 非常好用的nslog,提供各种格式的输出。
特性:1)使用CC_LOG代替NSLog,并且提供更加详细的输出信息。使用方法和NSLog完全一致; 2)使用CC_LOG_VALUE直接打印各种值; 3)支持Log记录,支持Developer UI; 4)支持捕获Crash信息,区分普通Log和Crash Log;...
NSLog时常用的打印格式,记不住的保留看看
使用方法: 在全局头文件中(.pch 文件) 中重新宏定义 NSLog #define NSLog(format, ...) do { \ (NSLog)((format), ##VA_ARGS); \ dispatch_async(dispatch_get_main_queue(), ^{ \ [[NSNotificationCenter ...
2. `%d` 和 `%i`: 两者都是用来输出整数,但通常情况下,它们可以互换使用。在Objective-C中,整数类型包括`int`、`short`、`long`等,这些类型都可以用这两个格式输出。 3. `%u`: 这个格式用于输出无符号整数,...
这个简单的库(充满了预处理器的魔力)隐藏了 NSLog 并添加了一个名为 DLog 的“调试”NSLog 命令。 在你需要的地方导入BetterNSLog.h ,你就可以开始了。 这... NSLog(format,...) ...印刷: [APPNAME] ...
网上有很多关于解决WKWebView错误日志不停打印 [Process] kill() returned ...其实我们可以通过重定向NSLog,过滤掉不需要的信息,然后使用非标准错误流输出日志信息。下面是实现代码: Swift版本 #if DEBUG pr