常用方式:
1、plist
2、NSUserDefault
3、NSKeyedArchiver归档
4、FMDB
一、plist
plist文件的读与写
特点:只能存储OC常用数据类型(NSString、NSDictionary、NSArray、NSData、NSNumber等类型)而不能直接存储自定义模型对象
如果想存储自定义模型对象 -> 只能将自定义模型对象转换为字典存储;
<pre>NSString *name = @"测试数据";
NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString *strPath = [documentPath stringByAppendingPathComponent:@"str.plist"];
[name writeToFile:strPath atomically:YES encoding:NSUTF8StringEncoding error:nil];
NSLog(@">>>>>>>>>>>%@",strPath);
NSString *tmpStr = [NSString stringWithContentsOfFile:strPath encoding:NSUTF8StringEncoding error:nil];
NSLog(@">>>>>tmpStr>>>>>>%@",tmpStr);</pre>
二、NSUserDefault
UserDefaults设置数据时,不是立即写入,而是根据时间戳定时地把缓存中的数据写入本地磁盘。所以调用了set方法之后数据有可能还没有写入磁盘应用程序就终止了。出现以上问题,可以通过调用synchornize方法强制写入
<pre>NSUserDefaults *userdefault = [NSUserDefaults standardUserDefaults];
//写入
[userdefault setBool:YES forKey:@"isLogined"];
[userdefault synchronize];
//读取
BOOL loginStatus = [userdefault boolForKey:@"isLogined"];
NSLog(@">>>>>loginStatus>>>>>>%@",(loginStatus==1)?@"YES":@"NO")</pre>
网友评论