zoukankan      html  css  js  c++  java
  • 写入本地

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

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

        }

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

  • 相关阅读:
    回发或回调参数无效。下拉菜单中使用ajax,联动菜单引起的问题解决方案
    jquery获取,赋值img的src值..
    jquery select set selectindex
    DateTime.ToString("dd/MM/yyyy");后,不能直接Convert.ToDateTime的解决:
    SQL Server根据查询结果,生成XML文件
    SQL生成XML
    SQLXML
    .net 点击刷新验证码问题
    C# 根据字节数截取字符串(区别汉字,英文,数字)
    c#中对xml文件的基本操作
  • 原文地址:https://www.cnblogs.com/nsjelly/p/4691791.html
Copyright © 2011-2022 走看看