Objective-C和Sprite Kit游戏开发从入门到精通
上QQ阅读APP看书,第一时间看更新

2.8 字符

在Objective-C中,字符类型用来操作单个字符,使用char关键字定义,字符内容包含在一对单引号中;在NSLog()函数中,可以使用“%c”格式化显示字符。如下面的代码。

    #import <Foundation/Foundation.h>
    int main(int argc, const char *argv[])
    {
        @autoreleasepool {
            char chA = 'A';
            NSLog(@"%c", chA);
        }
        return 0;
    }

代码会显示大写字母A。

关于char类型的操作。我们经常会将它转换为整数,而这个整数就是字符的ASCII编码。如int ascA = (int)'A';。

char类型的另一个常用功能就是组合为字符串,也就是我们所说的C风格字符串,其本质上是一个以“\0”字符结束的char数组。数组的详细内容会在第6章介绍,我们先通过下面的代码简单了解一下这种字符串的使用。

    #import <Foundation/Foundation.h>
    int main(int argc, const char *argv[])
    {
        @autoreleasepool {
            char hello[] = {'H', 'e', 'l', 'l', 'o', '\0'};
            // char hello[] = "Hello\0";
            NSLog(@"%s", hello);
        }
        return 0;
    }

此外,在Objective-C项目中,我们还是更建议使用NSString类或NSMutableString类来处理字符串,在第7章会详细讨论。

无论是char类型或是字符串中,都会有一些特殊的字符,如单引号用于定义字符、双引号用于定义字符串内容,还有一些不可见字符,如ASCII编码为0的字符、换行符等。对于这些字符,应该在字符或字符串中使用转义字符来定义,常用的包括:

❑ \’表示单引号。

❑ \"表示双引号。

❑ \n表示换行符。

❑ \t表示制度符。

❑ \\表示\字符。

❑ \0表示ASCII代码为0的字符,在C风格字符串中,都以此字符作为结束符号。

图2-15为0~127编码的ASCII码表,大家可以参考使用。

图2-15 ASCII编码0到127