NSString 这是一个最常用 OC类
1,既然是OC类,一般情况下是不需要主动释放内存,因为OC类本身已经实现释放功能、
2,如果是 initWith**** 来创建一个NSString 对象,需主动释放内存
3,一般情况下每个initWith***方法都有一个对应的stringWith****静态方法,如果是静态方法创建NSString对象,则不需要主动释放内存
4,如果需要外外部函数中改变一个指针的值,则必须要传指针的指针(就是是指针地址)
5,NSString常用的方法有以下
- void test2(){
- NSString *path = @"/Users/gx/Desktop/test_utf8.txt";
- //NSString *str = [NSString stringWithContentsOfFile:path];
- //UTF-8编码
- NSString *str = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
- NSLog(@"%@",str);
- //GBK编码 需要用CFStringConvertEncodingToNSStringEncoding转换编码
- NSString *path2 = @"/Users/gx/Desktop/test_gbk.txt";
- NSString *str2 = [NSString stringWithContentsOfFile:path2 encoding:CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000) error:nil];
- NSLog(@"%@",str2);
- //使用NSURL从文件中读取字符串
- NSURL *url = [NSURL URLWithString:@"file:///Users/gx/Desktop/test_utf8.txt"];
- NSString *str3 = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
- NSLog(@"%@",str3);
- //使用NSURL读取远程文本
- NSURL *url2 = [NSURL URLWithString:@"http://www.baidu.com"];
- NSString *str4 = [NSString stringWithContentsOfURL:url2 encoding:NSUTF8StringEncoding error:nil];
- NSLog(@"%@",str4);
- }
6,字串传的操作
- - (void)viewDidLoad
- {
- [super viewDidLoad];
- NSString *str0 = @"中文my name is xuanyusong";
- //截取字符串起始点到index为4之间的内容
- NSString * to = [str0 substringToIndex:4];
- NSLog(@"to = %@",to);
- //截取字符index为2 到结尾之间的内容
- NSString * from = [str0 substringFromIndex:2];
- NSLog(@"from = %@",from);
- //设置截取字符串的范围
- //从第二位到第十位
- NSRange rang = NSMakeRange(2, 10);
- NSString * strRang = [str0 substringWithRange:rang];
- NSLog(@"rang = %@",strRang);
- //设置字符串首字母大写
- NSLog(@"str0首字母大写:%@",[str0 capitalizedString]);
- //设置字符串全部内容为大写
- NSLog(@"str0大写:%@",[str0 uppercaseString]);
- //设置字符全部内容为小写
- NSLog(@"str0小写:%@",[str0 lowercaseString]);
- }