A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© muyan091115 中级黑马   /  2016-5-25 22:44  /  662 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1,NSString 是一个数据类型,用来保存OC字符串的


2,其实 NSString 是 Foundation框架中的一个类
    作用:存储OC字符串的
    所以OC中的字符串本事上使用NSString 对象来存储的


3,其实完整的标准的创建NSString 对象的方式

    NSString *str =[NSString new];
    NSString *str1 = [NSString string];

    这种方式创建的字符串是空字符串@“”
    但是。NSStirng是我们最常用的一个对象 每次这样创建会很麻烦
    所以OC使用了一种简单的方式来创建字符串对象,
    直接使用@符号来表示一个OC字符串。
    @“jack” 这个其实本质上是一个NSString 对象、
    NSString *str = @“jack”;
    @“jack“ 是一个NSString对象 str的值是这个对象的地址
    %p 打印的是指针变量的值
    %@ 打印的是NSString 类指针 指向的对象


4,NSString 最常用的类方法

    1),+(instancetype)stringWithUTF8String :(const char *)nullTerminatedCString
        注:instancetype 作为返回值 代表返回的是当前这个类的对象
        作用:将C语言的字符串转换为OC字符串对象
        char * str0 = “rose”;
        NSString *str1 = [NSString stringWithUTF8String :str0];

        什么时候使用该函数,
        把从控制台上接受的C字符串转换成OC字符串

    2),+(instancetype)stringWithFormat :(NSString *)format ,。。。
        作用:拼接一个字符串对象。
        int age = 19;
        NSString *name = @"小明";
        NSString *str = [NSString stringWithFormat :@"\n大家好,我叫%@,我今年%d岁了!",name,age];
        NSLog(@" str = %@",str);


  5,NSString 最常用的对象方法

    1),length方法 返回值为NSUInteger 其实就是 unsigned long  8字节
        作用:得到字符串的字符的个数 可以处理中文
        NSString *str = @"\n我爱广州小蛮腰!";
        NSUInteger length = [str length];
        NSLog(@"\nlength = %lu",length);

    2),characterAtIndex 方法  返回值是unichar  其实就是unsighed short 2字节
        作用:得到字符串中指定下标的字符
        NSString *str = @"itcast";
        unichar c = [str characterAtIndex :1];
        NSLog(@"\n c = %C",c);
        注:OC中的中文占2个字节
        如果输出unichar的话,使用%C  C为大写  这样才会读取两个字节的数据
        如果是%c 的话 只会读取一个字节的数据

    3),isEqualToString 方法  返回值BOOL类型 参数:另一个字符串
        作用:判断两个字符串的内容是否相同
        注:不能使用 == 来判断两个字符串的北荣是否相同 会出问题
                应使用次方法才会得到正确结果
        NSString *str1 = @"jack";
        NSString *str2 = @"jack";
        if( [str1 isEqualToString :str2] ){
            NSLog(@"\nYES");
        }else{
            NSLog(@"\nNO");
        }

    4),compare 方法 返回值NScomparisonResult类型 可以用int接  参数:另一个字符串
        作用:判断两俄字符串大小 大于返回1 小于返回-1 等于返回0
        NSString *str1 = @"China";
        NSString *str2 = @"Jiangwei";
        int res = [str1 compare :str2];
        NSLog(@"\nres = %d",res);


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马