您的位置:首页 > 编程语言 > C语言/C++

NSLog和@“字符串”

2015-12-05 09:21 323 查看
使用#import导入了foundation框架的主头文件之后,就可以开始使用心得特性编写代码了。helloworld中第一行也是唯一的一行执行程序实际代码使用了NSLog()函数,


“`

使用#import导入了foundation框架的主头文件之后,就可以开始使用心得特性编写代码了。helloworld中第一行也是唯一的一行执行程序实际代码使用了NSLog()函数

NSLog(@"hello world");


这行代码向控制台输出了hello world。如果以前用过C语言那么一定还记得printf(),NSLog()和printf()函数的功能相似。

与printf()一样,NSLog()接受一个字符串作为其第一个参数,该字符串可以包含格式控制符(%d、%f等),此函数会接受与格式控制符想匹配的其他参数。

objective-C是添加了新特性的C语言,因此可以用printf()来替代NSlog()函数部分功能。但是更推荐使用NSLog(),因为他添加了很多新的特性,如日期、时间戳、自动换行等。并且在输出以NSString、NSArray等方法声明的对象的时候只能够用NSLog()函数输出。

1、关于NS前缀

如果看过objective-c的基础会看到NSArray、NSLog、NSString等关键字,也许会觉得很奇怪,为什么用NS前缀呢?之前我们曾了解过objective-c是c语言的拓展,继承了很多c语言的特性,如果在objective-c中直接用log或者是array这种命名方式就有可能会使得跟其他的命名关键词冲突,所以在objective-c中使用NS前缀,以作区别。

2、NSString:@是本体

是否注意到NSLog(@”hello world”);中字符串前面的@符号。这可不是排版错误,而是objective-c在C语言基础上添加的特性之一。@符号意味着引号内的字符串应当按照NSString元素来处理,若不是这样使用则会提示错误。这里也是和C语言有区别的地方之一。NSString类型声明的字符串是不能用printf函数进行输出的,同样char *声明的字符串也不能够用NSSLog来输出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  控制台 c语言 函数