iOS常用数据存储方式

常用方式:

1、plist

2、NSUserDefault

3、NSKeyedArchiver归档

4、FMDB

一、plist

plist文件的读与写

特点:只能存储OC常用数据类型(NSString、NSDictionary、NSArray、NSData、NSNumber等类型)而不能直接存储自定义模型对象
如果想存储自定义模型对象 -> 只能将自定义模型对象转换为字典存储;

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);

二、NSUserDefault

UserDefaults设置数据时,不是立即写入,而是根据时间戳定时地把缓存中的数据写入本地磁盘。所以调用了set方法之后数据有可能还没有写入磁盘应用程序就终止了。出现以上问题,可以通过调用synchornize方法强制写入

NSUserDefaults *userdefault = [NSUserDefaults standardUserDefaults];
//写入
[userdefault setBool:YES forKey:@"isLogined"];
[userdefault synchronize];
//读取
BOOL loginStatus = [userdefault boolForKey:@"isLogined"];
NSLog(@">>>>>loginStatus>>>>>>%@",(loginStatus==1)?@"YES":@"NO")

你可能感兴趣的:(iOS常用数据存储方式)