写入本地

这是一种简单的本地储存的方式,可以将简单的信息写入到本地.实现本地储存

首先我们先来了解下iOS的沙盒的情况

找到Documents:在做iTunes同步的时候,会把这个文件夹进行同步;这个文件夹主要存放一些比较重要的存档信息(比如游戏的存档),并且document中的内容不能过大,否则在应用审核的时候会被拒绝

NSString *documenrsParh = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];

    NSLog(@"%@", documenrsParh);

    //library:存放资源文件(视频,图片等)

    NSString *libraryParh = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) firstObject];

    NSLog(@"%@", libraryParh);

    //Caches:Library的子文件夹,存放缓存数据(例如图片的缓存)

    NSString *cachesParh = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];

//tmp:存放临时文件(例如zip压缩包,解压过后,删掉)

    NSLog(@"%@", NSTemporaryDirectory());

这里只是简单的说一下,不知道这样的储存会不会对上架带来困扰

1,文件读写(支持NSString, NSArray NSDictionary, NSData)

     //写入的api都是以"writeToFile"开头

     //读取的api都包含"contentOfFile"

     //注:NSArray和NSDictionary中存的数据也必须是这4种类型

    //创建文件内容

    NSString *string = [NSString stringWithFormat:@"新年快乐!"];

    //创建文件路径

    NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];

    NSString *filePath = [docPath stringByAppendingPathComponent:@"test.txt"];

    //写入到指定的文件路径

    //注:如果发现没有这个文件夹,就自动创建

    //每次修改文件内容,都是一个覆盖过程

    NSError *errror = nil;

    BOOL result = [string writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:&errror];

    if (result) {

        NSLog(@"写入成功");

    } else {

        NSLog(@"%@", errror);

    }

读取文件的操作

//创建路径

    NSString *string1 = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];

    NSString *flPath = [string1 stringByAppendingPathComponent:@"test.txt"];

    NSError *error1 = nil;

    NSString *string2 = [NSString stringWithContentsOfFile:flPath encoding:NSUTF8StringEncoding error:&error1];

    if (error1) {

        NSLog(@"%@", error1);

    } else {

        NSLog(@"%@", string2);

    }

当然这里如果是 数组,字典 在写入和读取的时候 会有一点不同,但是不大

原文地址:https://www.cnblogs.com/nsjelly/p/4691791.html