• 写入本地


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

    首先我们先来了解下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);

        }

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

  • 相关阅读:
    vault验证导出领域对象导入新的shecma是否生效
    开启vault下如何使用expdp
    vault创建领域不让sys/system访问,但是可以让其他用户访问
    vault应用例子(禁止sys用户访问其他用户下的表)
    11g关闭vault
    11g配置vault
    11g单节点配置em
    vue中 js获取图片尺寸 设置不同样式
    vue 模块化 路由拆分配置
    vue 弹窗时 监听手机返回键关闭弹窗(页面不跳转)
  • 原文地址:https://www.cnblogs.com/nsjelly/p/4691791.html
Copyright © 2020-2023  润新知