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);
|