Objective-C中NSLog学习文档是本文哟啊介绍的内容,主要是来学习NSLog输出格式,谈到NSLog对程序性能的影响,来看详细内容。
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位双字
NSLog对程序性能的影响
NSLog 既可以像printf那样方便地格式化输出,同时还能输出时间以及进程ID等信息,可谓调试利器.但是其实NSLog对程序性能也有不小的影响,在执行次数比较少的情况下可能看不出来什么,当短时间大量执行的时候就会对程序执行效率产生可观的影响.
我遇到的一种情况就是我在一个UIScrollView子类的layoutSubviews方法中输出了很多次log,而这个layoutSubviews本身又有相对繁重的工作要做,由于每次拖动这个UIScrollView都要调用很多次layoutSubviews,因此程序实际运行起来拖动体验就非常差,卡顿现象严重,多次测试发现注释掉所有的NSLog后拖动就变得正常了.
综上,当你疑惑是什么导致了你的程序运行效率很差的时候不妨注释掉那些NSLog试试,你的问题也许就迎刃而解了
--可以包一个debuglog之类的函数,然后放到#ifdef DEBUG下,就不会太影响了
小结:Objective-C中NSLog学习文档的内容介绍完了,希望本文对你有所帮助!