IOS基础入门OC语言Xcode Day09笔记:NSString

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,说明大于

你可能感兴趣的:(IOS基础笔记)