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]);
- }