oc-Foundation框架-NSString
NSString是不可变的字符串 1、NSString *str1=@"a string"//这种快速创建的方式是不用管理内存的 2、NSString *str2=[[NSString alloc]init]; str2=@"a string2"; [str2 release]; 3、NSString *str2=[[NSString alloc]initWithString:@"a string3"]; [str3 release]; 4、NSString *str4=[[NSString alloc]initWithUTF8String:"a string3"]; [str4 release];//这个是c语言的字符串 5、NSString *str5=[[NSString alloc]initWithFormat:@"a string3"]; [str5 release];//后面的参数都不怎么用 以上方法都是动态方法,都有对应的静态方法,静态方法创建的都不用管理内存
字符串从文件中读取
void test(){
NSString *path=@"/users/apple/deskdop/test.txt";
NSString *str=[NSString stringWithContentsOfFile:path];
NSLog(@"%@",str);//这个方法已经过期了,不能解析中文,所以不用了
}
void test(){
NSString *path=@"/users/apple/deskdop/test.txt";
NSError *error;
NSString *str=[NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];//红色的部分是一个是编码的枚举,这里传的是一个指针的地址
NSLog(@"%@",str);//这个就能正确的解析中文了
//error会自动被赋值,当文件读取成功error就会为空,当有错误的时候error就会被赋值。
}
将一个字符串写进一个文件中 NSString *str=@"123456"; NSError *error1; NSString *path=@"/Users/liyang/Desktop/liyang.txt"; [str writeToFile:path atomically:false encoding:NSUTF8StringEncoding error:&error1]; NSLog(@"%@",error1); atomically:表示是否原子性,原子性得意思就是会将文件内容一点一点的写到一个临时的文件中,写完了过后一次性将这个文件内容拷贝到目标文件中, 非原子性就是一点一点的将这个内容写到目标文件当中
第二种url的方式写
NSString *str=@"123456liyang李阳"; NSError *error1; NSURL *url=[NSURL URLWithString:@"file:///Users/liyang/Desktop/liyang.txt"]; [str writeToURL:url atomically:YES encoding:NSUTF8StringEncoding error:&error1]; NSLog(@"%@",error1);
1.这里只记录一些学习笔记
2.这里只记录一些学习心得,如果心得方向有错,请留言
2.这里只记录一些日记(只为提升英语,暂时有点忙,等转行了开始写)