黑马程序员技术交流社区
标题: OC基础NSString类个人笔记 [打印本页]
作者: muyan091115 时间: 2016-5-25 22:44
标题: OC基础NSString类个人笔记
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);
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |