ios本地文件内容读取,.json .plist 文件读写

本地文件.json .plist文件是较为常用的存储本地数据的文件,对这些文件的操作也是一种常用的基础。

本文同时提供初始化变量的比较标准的写法,如果你有更好的初始化变量的写法,欢迎留言提醒我。

.json文件的数据获取需要通过赋值NSData,再通过NSJSONSerialization 方法将NSData数据转成NSArray 或NSDictionary进行使用。

.plist文件的数据可以直接进行访问。

//获取本地location.json文件内容

@property (nonatomic, strong) NSArray *locData;

- (NSArray *)locData {

    if (!_locData) {

        NSData *JSONData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"location" ofType:@"json"]];

        NSArray *dataArray = [NSJSONSerialization JSONObjectWithData:JSONData options:NSJSONReadingAllowFragments error:nil];

        NSMutableArray *newArray = [NSMutableArray array];

        for (NSDictionary *dict in dataArray) {

            XCFLocation *loc = [XCFLocation locationWithDict:dict];

            [newArray addObject:loc];

        }

        _locData = newArray;

    }

    return _locData;

}

//获取本地keywords.plist文件内容

@property (nonatomic, strong) NSArray *hotSearchWords;

- (NSArray *)hotSearchWords {

    if(!_hotSearchWords) {

        NSDictionary *dataDict = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"keywords" ofType:@"plist"]];

        NSArray *array = [NSArray arrayWithArray:dataDict[@"content"][@"keywords"]];

        NSMutableArray *mArray = [NSMutableArray array];

        for (NSString *word in array) {

            [mArray addObject:word];

        }

        _hotSearchWords = mArray;

    }

    return _hotSearchWords;

}

//写入.plist文件

NSString *filename = [[NSBundle mainBundle] pathForResource:@"keywords" ofType:@"plist”];

NSDictionary *dataDict = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"keywords" ofType:@"plist"]];

[dataDict setObject:@"add some content" forKey:@"c_key"]; 

[dataDict writeToFile:filename atomically:YES];

ios本地文件内容读取,.json .plist 文件读写的更多相关文章

  1. iOS开发读取plist文件、iphone中plist文件的

    在Xcode中建立一个iOS项目后,会自己产生一个.plist文件,点击时会看见它显示的是类似于excel表格: 但是,如果打开方式选择Source Code,你会看见它其实是一个xml文件. 我们会 ...

  2. excel to datatable (c#用NPOI将excel文件内容读取到datatable数据表中)

    将excel文件内容读取到datatable数据表中,支持97-2003和2007两种版本的excel 1.第一种是根据excel文件路径读取excel并返回datatable /// <sum ...

  3. Java将字符串写入文件与将文件内容读取到字符串

    原文:http://blog.csdn.net/liuweiyuxiang/article/details/69487326 将字符串写入文件 方法一 public void WriteStringT ...

  4. go从文件中读取json字符串并转换

    go从文件中读取json字符串并转换 将要读取的文件的一部分 [ { "children": [ { "children": [ { "code&qu ...

  5. 工具类_JavaPOI_Office文件内容读取

    文件内容读取工具类,亲测可用 maven依赖: <dependency> <groupId>org.apache.poi</groupId> <artifac ...

  6. 解决gvim 8.1中zip插件打开zip文件内容时,而文件路径带有空格的问题。

    解决gvim 8.1中zip插件打开zip文件内容时,而文件路径带有空格的问题. 现象是只能打开一次,第二次打开就显示为空了. 通过 lcd切换工作目录.使得命令行操作中不再有带空格的路径 vim81 ...

  7. C#选择多个文件并读取多个文件数据

    原文:C#选择多个文件并读取多个文件数据 版权声明:本文为博主原创文章,转载请附上链接地址. https://blog.csdn.net/ld15102891672/article/details/8 ...

  8. iOS开发——数据持久化OC篇&plist文件增删改查操作

    Plist文件增删查改   主要操作: 1.//获得plist路径    -(NSString*)getPlistPath: 2.//判断沙盒中名为plistname的文件是否存在    -(BOOL ...

  9. 如何读取 Json 格式文件

    Json 源文件代码: [ { "Id": "0", "Name": "书籍", "Detail": ...

随机推荐

  1. WMware VMX格式转换成OVF

    1.关于VMX格式 vmx文件是vmware虚拟机系统的配置文件,注意:刚刚安装好VMware Workstation以后是找不到这个文件的,当你在VMware Workstation中建立了一个虚拟 ...

  2. aui

    #encoding:utf-8import wximport wx.auiclass MyFrame(wx.Frame): def __init__(self, *args, **kwargs): w ...

  3. js正则验证两位小数 验证数字最简单正则表达式大全

    <h3>输入完按回车后即可验证!(自认为最简单!)</h3> 正整数:    <input type="text" size="20&quo ...

  4. android 网络状态判断【转】

    import java.net.InetAddress; import android.app.Activity;import android.content.Context;import andro ...

  5. leetcode之 median of two sorted arrays

    这是我做的第二个leetcode题目,一开始以为和第一个一样很简单,但是做的过程中才发现这个题目非常难,给人一种“刚上战场就踩上地雷挂掉了”的感觉.后来搜了一下leetcode的难度分布表(leetc ...

  6. Qt on Android:QTableView不显示选中虚框

    在使用 QTableView 或 QTableWidget 时.有时我们不想要选中虚框,能够实现一个 ItemDelegate ,重写 drawFocus() 和 drawCheck()  两个虚函数 ...

  7. CLR via C# 阅读笔记

    1.char在C#中为16位Unicode字符:int 映射到System.Int32;long映射到System.Int64. 2.重载时C#不考虑返回值,而CLR允许返回值不同,方法名和参数相同的 ...

  8. html系列教程--input label

    <input> 标签:用于提交用户输入数据的文本框. input属性: 1.checked:用于checkbox,radio等元素,确定是否选中,true/false 2.disabled ...

  9. [转]Visual Studio 2008中如何比较二个数据库的架构【Schema】和数据【Data】并同步

    使用场景: 在团队开发中,每一个人都有可能随时更新数据库,这时候数据库中数据和架构等信息都会发生变化.如果更新不及时,就会发生数据错误或数据丢失的风险,影响团队的开发效率和 项目进度,这时候我们该怎么 ...

  10. Android 如何让 app 自行处理 power key M

    前言          欢迎大家我分享和推荐好用的代码段~~ 声明          欢迎转载,但请保留文章原始出处:          CSDN:http://www.csdn.net        ...