zoukankan      html  css  js  c++  java
  • ios本地文件内容读取,.json .plist 文件读写

    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];
    
    
    追寻最真
  • 相关阅读:
    velocity masterplate 第一个程序的运行
    java 关于集合框架
    java 关于>>>位运算
    QCA wifi驱动强制为HT40
    Linux内核调试方法的总结(转载)
    移动端利用webkitbox水平垂直居中
    Under Construction to Beta
    网站自动备份
    writely 邀请?
    Google Carlendar coming ?
  • 原文地址:https://www.cnblogs.com/zhao-jie-li/p/5839884.html
Copyright © 2011-2022 走看看