美文网首页
iOS常用数据存储方式

iOS常用数据存储方式

作者: 南少cc | 来源:发表于2017-04-13 10:40 被阅读0次

    常用方式:

    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>

    相关文章

      网友评论

          本文标题:iOS常用数据存储方式

          本文链接:https://www.haomeiwen.com/subject/tfqbattx.html