1、NSString是一个数据类型,用来保存OC字符串的
2、事实上NSString是Foundation框架中的一个类
作用:存储OC字符串的
所以,OC中的字符串本质上是用NSString对象来存储的
3、完整的标准的创建NSString对象的方式
NSString *str1 = [NSString new];
NSString *str2 = [NSString string];
这种方式创建的字符串@"" //空字符
但是NSString是我们最常用的一个对象,所以OC使用了一个更为简单的方式来创建字符串对象
直接使用@来表示一个OC字符串
NSString *str = @"李大伟";
@“李大伟” 这是一个NSString对象,str的值是这个对象的地址
%@:打印的是指针变量指向的对象
%p:打印的是指针变量的值
4、NSString最常用的类方法
1)将C语言的字符串转换为OC字符串对象
+(instancetype)stringWithUTF8String:(const char*)nullTerminatedCString;
instancetype 作为返回值,代表返回的是当前这个类的对象
char *str1 = "李小伟";
NSString *str2 = [NSString stringWithUTF8String:str1];
2)拼接一个字符串对象,使用变量或者其他数据拼接成OC字符串
+(instancetype)stringWithFormat:(NSString *)format,...
int age = 18;
NSString *name = @"李二伟";
NSString *str1 = [NSString stringWithFormat:@"大家好,我叫%@,我今年%d岁",name,age];
5、最常用的对象方法
NSString *str = @"fvkmeplis";
NSUInteger len = [str length];
length方法,返回值为NSUInteger,其实就是unsigned long
得到字符串的字符个数,可以处理中文
unichar ch = [str characterAtIndex:2];
返回值是unichar,其实就是unsinged short,占据两个字节
得到字符串中指定下标的字符
如果要输出unichar变量的值,使用%C,char用%c
NSString *str1 = @"李大伟";
NSString *str2 = @"李二伟";
BOOL b1= [str1 isEqualToString:str2];
判断两个字符串的内容是否相同
NSString *str1 = @"李三伟";
NSString *str2 = @"李四伟";
int godWei= [str1 isEqualToString:str2];//按顺序比较字符串ASC码值
比较字符串的大小
完全可以使用int类接受结果,因为返回值是一个枚举
返回值如果是-1,说明小于;0,说明等于;1,说明大于