黑马程序员技术交流社区

标题: C语言的pritnf()与OC中的NSLog()有什么区别? [打印本页]

作者: Moebius    时间: 2014-7-15 00:16
标题: C语言的pritnf()与OC中的NSLog()有什么区别?
本帖最后由 Moebius 于 2014-7-15 17:51 编辑

C语言的pritnf()与OC中的NSLog()有什么区别? 功能感觉都一样,但是为何要在OC中另外设置一个函数来代替pritnf()呢?是不是有什么特别的地方?
作者: fantacyleo    时间: 2014-7-15 00:25
怎么会功能一样。。。至少NSLog会打印出时间信息吧,会自动换行吧,能用%@吧
作者: 云霄之上    时间: 2014-7-15 00:43
NSLog完全具备printf的功能,而printf只能打印纯C语言的变量,不能打印一些NSObject类型的对象
作者: 温天恩    时间: 2014-7-15 08:20
NSLog打印C语言中定义的字符串时,不能打印中文字符,此时会跳过打印。
作者: 追马    时间: 2014-7-15 08:29
1.NSLog会自己加上换行符

2.NSLog在Debug下会写到system.log中

3.NSLog会自动加上时间和进程信息.

4.NSLog支持%@去打印一个对象类型,当使用%@时,它会给对象发送消息description,所以如果你组合了一个新的类,你可以通过给自己重载description来实现打印DEBUG


作者: 小海    时间: 2014-7-15 17:21
楼上的都说的很清楚了,NSLog大有用处
作者: 天空总是很蓝    时间: 2014-11-21 11:24
NSLog默认输出是带时间、进程名、换行等其他额外信息的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2