用法:NSString *str1 = @"hello world",
与c不同的是 char *str只是单纯的字符串,而oc的是作为一个对象,
统计字符串长度为
str.length 也可以写作 [str length]
7.0 版本中
instancetype只能作为返回值不能为参数;
id既可以作为返回值又可以作为参数。
新版编译器LLVM对instancetype识别优于id类型
减方法 在非ARC情况下必须手动管理内存
NSstring *str2 = [[NSString alloc] initWithString:str1];
与之对应的+方法(自动管理内存(通过自动释放池))为:
NSSting *str3 = [NSString stringWithString:str1];
打印时应该用 %@方法,如
NSLog(@"str2 is %@,str3 is %@",str2,[str3 description]);
%@是调用对象的despricption方法 会返回一个字符串对象,despricption方法在框架中就已经存在,不需要在改写
格式化输出是NSString中最重要的方法之一
int a = 10;
NSString *str4 = [NSString stringWithFormat:@"%c%d%s%@",'A',a,"aaaa",str2];
相当于c中的sprintf,可以将c的类型转化为oc类型。
NSString 中,便于类存分开管理,有+方法必有减方法;
NSString *str5 = [[NSString alloc ] initWithFormate:@"类似上面的"];
将oc类型转化成c
const char *s1 =[@"hello world" UTF8string];
NSString *str6 = [NSString stringWithCString]:s1 encoding: NSUTF8StringEncoding];
s1为c类型字符串,参数二:编码格式,一般用utf_8;