数据持久化
分为本地和云端.
--本地
----文件
----数据库
--云端
----ICloud
------文件
------key-Value
----第三方
NSDate
如果你读和写就用NSDate ,如果修改就用NSMutableDate.
NSDtae的所有API学习
NSData主要是提供一块原始数据的封装,方便数据的封装与流动,比较常见的是NSString/NSImage数据的封装与传递。在应用中,最常用于访问存储在文件中或者网络资源中的数据。
+ (id)dataWithBytes:(const void *)bytes length:(NSUInteger)length;
//例子
char *str = "Hello, World!";
NSData *strData = [NSData dataWithBytes:str length:strlen(str)+1];
NSString *str = [NSString stringWithUTF8String:[strData bytes]];
[strData bytes]就可以获得传递的内容
DataWithContentsOfFile//把文件读进来
NSError *error = nil;
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Jike" ofType:@"txt"];
NSData *data = [NSData dataWithContentsOfFile:filePath options:NSDataReadingUncached error:&error];
DataWithContentsOfURL//把文件读进来
UIImage *Image =[ [ UIImage alloc]initWithData: [NSData dataWithContentsOfURL:[NSURL URLWithString:@"这里输入网址"]] ];
writeToFile://
[writer writeToFile:logPath atomically:YES];这句是往文件里面写数据 这都是覆盖式写入的
atomically的YES 或 NO :YES 表示保证文件的写入原子性,就是说会先创建一个临时文件,直到文件内容写入成功再导入到目标文件里.
writeToURL:// 只能file://
NSURL * url = [[NSBundle mainBundle] URLForResource:@"regionList" withExtension:@"txt"];
------key-Value
NSUserDefaults
此外练习一个
bundle创建