一、NSString
1> 表示字符串的类NSString创建的类对象包含了指向超类的指针、类名和指向类方法的列表的指针。类对象还包含一个long的数据,为新创建的类对象指定大小。
字符串创建方式
/*
1.字符串的创建
*/
NSString *s1 = @"hello";
//NSString *s2 = [[NSString alloc] initWithString:@"world"];
NSString *s3 = [[NSString alloc] initWithFormat:@"age is %d",10];
//C字符串 --> OC字符串
NSString *s4 = [[NSString alloc]initWithUTF8String:"jake"];
//OC字符串 --> C字符串
const char *cs = [s4 UTF8String];
//NSUTF8StringEncoding:用到中文就可以用这种编码
NSString *s5 = [[NSString alloc] initWithContentsOfFile:@"/Users/Apple/Desktop/1.txt" encoding:NSUTF8StringEncoding error:nil];
// 协议头://路径
// file:
// ftp;
// http://weibo.com/a.png
NSURL *url = [[NSString alloc]initWithString:@"files///Users/Apple/Desktop/1.txt"];
[NSURL URLWithString:<#(NSString *)#>];
NSString *s6 = [[NSString alloc]initWithContentsOfURL: url encoding:NSUTF8StringEncoding error:];
/*一般都会有一个类方法和对象方法配
[NSString stringWithFormat:@""];
[NSString stringWithContentsOfFile:<#(NSString *)#> encoding:<#(NSStringEncoding)#> error:<#(NSError *__autoreleasing *)#>]
[NSString stringWithContentsOfURL:<#(NSURL *)#> encoding:<#(NSStringEncoding)#> error:<#(NSError *__autoreleasing *)#>]
*/
[@"Jake" writeToFile:@"/Users/Apple/Desktop/1.txt" atomically:YES encoding:NSUTF8StringEncoding error:nil];
二、NSMutableString
1> NSString是不可变的,NSMutableString是可变的。用方法stringWithCapacity:来创建。2> 常用方法:
可以使用appendString:或appendFormat:来附加新字符串:
- (void)appendString:(NSString *)aString;
- (void)appendFormat:(NSString *)format,…;
可以使用deleteCharactersInRange:方法删除字符串中的字符:
- (void)deleteCharactersInRange:(NSRange)range;
例如,
NSMutableString *s1 = [NSMutableString stringWithFormat:@" my age is %d", 10];
//拼接内容到s1的后面
[s1 appendString:@"11 12"];
//获取is的范围
NSRange range = [s1 rangeOfString:@"is"];
[s1 deleteCharactersInRange:range];