首页 > 代码库 > NSCoding的使用方法---iOS上的归档.
NSCoding的使用方法---iOS上的归档.
在iOS上的归档和在Mac上的归档有些不一样, 在Mac上的归档你可以把文件放在任意的一个文件夹里面, 但是在iOS上, 你所写的文件就只能放在三个文件夹里, 分别是Documents, Library, tmp三个文件, 这里需要注意一下, library和tmp文件会在软件升级, 系统升级或者系统空间不足时会自动清除里面的文件, 只有在Documents文件才可以永久保存, 直到你把软件删除为止.
这里涉及的方法:
NSHomeDirectory:这个方法的意思就是获取软件的主目录.
stringByAooendingPathComponent:这个方法的意思就是在目录后添加一个文件.
下面我们来看看例子:
#import "ViewController.h"#define PZ NSLog(@"----我是一条华丽的分割线----");@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; //获取软件的主目录并且在Documents目录下添加test.txt文件. NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/test.txt"]; //创建文件的路径为path. [[NSFileManager defaultManager] createFileAtPath:path contents:nil attributes:nil]; NSString *str = @"Hello, world!"; //2.只写的方式打开文件, 并且把文件的写入路径赋给了writeHanle. NSFileHandle *writeHanle = [NSFileHandle fileHandleForWritingAtPath:path]; //把str里的字符串以UTF8编码存入data, 在这里就完成了归档. NSData *data =http://www.mamicode.com/ [str dataUsingEncoding:NSUTF8StringEncoding]; //解档: 把归档好的二进制代码以UTF8编码格式转换好赋给了字符串对象str2. NSString *str2 = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding]; NSLog(@"%@", str2); //打开文件后要记得关闭, 就和内存管理一样. [writeHandle closeFile];}- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}@end
输出的结果:
2014-10-19 17:31:57.039 FileHandleDemo[12364:672084] Hello, world!
NSCoding的使用方法---iOS上的归档.
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。