分类: iOS平台
2015-04-02 20:43:00
1.NSString
不可变的字符串
int main(int argc, const char * argv[]) {
@autoreleasepool {
//不需要管理内存,不需要释放
NSString *s1 = @"123";
//需要释放内存
NSString *s2 = [[NSString alloc] init];
s2 = @"456";
[s2 release];
//需要释放内存
NSString *s3 = [[NSString alloc]initWithString:@"123"];
[s3 release];
//需要释放内存,指向C语言方式的字符串
NSString *s4 = [[NSString alloc]initWithUTF8String:"123"];
[s3 release];
//需要释放内存,可变的字符串
NSString *s5 = [[NSString alloc]initWithFormat:@"123%d,%f",456,8.9];
[s5 release];
//NSLog(@"%@",s5);
//不需要管理内存, 会自动释放
NSString *s6 = [NSString stringWithString:@"123"];
NSString *s7 = [NSString stringWithFormat:@"123%d,%f",456,8.9];
NSError *err = nil;
NSError *err1 = nil;
NSError *err2 = nil;
NSString *path = @"/Users/jinhaiyang/Desktop/11";
//第一种读取文件字符串的方法
//方法已经过期了,不支持中文
//NSString *s8 = [NSString stringWithContentsOfFile:path];
//指定UTF8编码?
NSString *s8 = [NSString stringWithContentsOfFile:pathencoding:NSUTF8StringEncoding error:&err];
//err == nil 没有错误
if(err == nil){
NSLog(@"---%@---",s8);
}else{
NSLog(@"读取失败");
}
//第2种读取文件字符串的方法
NSURL *url = [NSURL URLWithString:@"file:///Users/jinhaiyang/Desktop/11"];
NSString *s9 = [NSString stringWithContentsOfURL:urlencoding:NSUTF8StringEncoding error:err1];
if(err1 == nil){
NSLog(@"---%@---",s9);
}else{
NSLog(@"读取失败");
}
//这种方法也可以读取远程文本
NSURL *url1 = [NSURL URLWithString:@""];
NSString *s10 = [NSString stringWithContentsOfURL:url1encoding:NSUTF8StringEncoding error:err2];
if(err2 == nil){
NSLog(@"---%@---",s10);
}else{
NSLog(@"读取失败");
}
}
return 0;
}
2.OC异常不经常使用
3.
//字符串导出
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSString *s = @"123哇哇哇哇哇哇哇";
NSString *path = @"/Users/jinhaiyang/Desktop/22";
NSError *err = nil;
//atomically
//YES 原子性 先创建一个临时文件,把字符串先放到临时文件 然后给目标文件
//NO 非原子性 直接给目标文件
//如果文件不存在他会帮我们自动创建一个文件
//如果目录不存在,则返回失败
//编码格式有误,也会返回失败
[s writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:&err];
if(err == nil){
NSLog(@"%@",s);
}else{
//只是报错主要的信息
NSLog(@"读写错误-%@",[err localizedDescription]);
}
}
return 0;
}