No.3 plist本地缓存

使用:

  1.倒入 #import "HLPlistData.h"

/**

  方法类型: 1.HLPLGET //获取 2.HLPLSET //添加

*/

  2.调用 [HLPlistData HlPlst:(方法类型) PlistName:(创建plist文件的名称) Data:(想要上传的数据[字典类型])  Result:^( NSDictionary *data){

  /**

    类型为HLPLGET时才会有返回结果,否则填nil

  */

  NSLog(@"返回的结果%@",data);

}];

//
//  HLPlistData.h
//  plist缓存
//
//  Created by  黄磊 on 16/4/27.
//  Copyright © 2016年  黄磊. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface HLPlistData : NSObject

typedef NS_OPTIONS(NSInteger, HLClass){
    HLPLGET = 0,//获取
    HLPLSET = 1//添加
};

//累累plist缓存
+(void)HlPlst:(HLClass)class
    PlistName:(NSString *)name
    Data:(NSDictionary *)data
    Result:(void(^)(NSDictionary *data))result;

@end

  

//
//  HLPlistData.m
//  plist缓存
//
//  Created by  黄磊 on 16/4/27.
//  Copyright © 2016年  黄磊. All rights reserved.
//

#import "HLPlistData.h"

@implementation HLPlistData

+(void)HlPlst:(HLClass)class PlistName:(NSString *)name Data:(NSDictionary *)data Result:(void(^)(NSDictionary *data))result{
    NSArray *pathArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *path = [pathArray objectAtIndex:0];
    NSString *filePatch = [path stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.plist",name]];
    switch (class) {
        case HLPLGET:
            data = [NSDictionary dictionaryWithContentsOfFile:filePatch];
            result(data);
            break;
        case HLPLSET:
            [data writeToFile:filePatch atomically:YES];
            break;
    }
}

@end

  

时间: 2024-11-08 17:04:52

No.3 plist本地缓存的相关文章

本地缓存方式

iOS本地缓存数据方式有五种: 1.直接写文件方式:可以存储的对象有NSString.NSArray.NSDictionary.NSData.NSNumber,数据全部存放在一个属性列表文件(*.plist文件)中. 2.NSUserDefaults(偏好设置),用来存储应用设置信息,文件放在perference目录下. 3.归档操作(NSkeyedArchiver),不同于前面两种,它可以把自定义对象存放在文件中. 4.coreData:coreData是苹果官方iOS5之后推出的综合型数据库

iOS五种本地缓存数据方式

iOS五种本地缓存数据方式 iOS本地缓存数据方式有五种:前言 1.直接写文件方式:可以存储的对象有NSString.NSArray.NSDictionary.NSData.NSNumber,数据全部存放在一个属性列表文件(*.plist文件)中. 2.NSUserDefaults(偏好设置),用来存储应用设置信息,文件放在perference目录下. 3.归档操作(NSkeyedArchiver),不同于前面两种,它可以把自定义对象存放在文件中. 4.coreData:coreData是苹果官

关于java中的本地缓存-总结概述

java中的本地缓存,工作后陆续用到,一直想写,一直无从下手,最近又涉及到这方面的问题了,梳理了一下.自己构造单例.guava.ehcache基本上涵盖了目前的大多数行为了.   为什么要有本地缓存? 在 系统中,有些数据,数据量小,但是访问十分频繁(例如国家标准行政区域数据),针对这种场景,需要将数据搞到应用的本地缓存中,以提升系统的访问效率,减 少无谓的数据库访问(数据库访问占用数据库连接,同时网络消耗比较大),但是有一点需要注意,就是缓存的占用空间以及缓存的失效策略. 为什么是本地缓存,而

内容和图片在从网络上获取到之后都会存入到本地缓存中

内容和图片在从网络上获取到之后都会存入到本地缓存中,因此即使手机在没有网络的情况下依然能够加载出以前浏览过的新闻.而使用的缓存技术不用多说,自然是DiskLruCache了,那么首先第一个问题,这些数据都被缓存在了手机的什么位置呢? 其实DiskLruCache并没有限制数据的缓存位置,可以自由地进行设定,但是通常情况下多数应用程序都会将缓存的位置选择为 /sdcard/Android/data/<application package>/cache 这个路径.选择在这个位置有两点好处:第一,

浏览器本地缓存

Nginx浏览器本地缓存设置 浏览器缓存,是为了加速浏览 浏览器在用户磁盘上对最近请求过的文档进行存储,当访问者再次请求这个页面时,浏览器自动从本地磁盘显示文档,这样可以加速页面浏览 浏览器缓存通过 expires 指令输出 Header 头来实现 语法:expires [time|epoch|max|off] 默认值:expires off 作用域:http.server.location 使用举例: 对 js.css本地缓存一小时,对图片本地缓存30天 location ~ .*\.(js|

Android -- ImageLoader本地缓存

传送门 <Android -- ImageLoader简析>  http://www.cnblogs.com/yydcdut/p/4008097.html 本地缓存 在缓存文件时对文件名称的修改提供了两种方式,每一种方式对应了一个Java类 1)  HashCodeFileNameGenerator,该类负责获取文件名称的hashcode然后转换成字符串. 2)  Md5FileNameGenerator,该类把源文件的名称同过md5加密后保存. 两个类都继承了FileNameGenerato

Java8简单的本地缓存实现

译文出处: 踏雁寻花   原文出处:lukaseder 这里我将会给大家演示用ConcurrentHashMap类和lambda表达式实现一个本地缓存.因为Map有一个新的方法,在key为Null的时候自动计算一个新的value值.非常适合实现cache.来看下代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public static void main(String[] args) {     for (int i = 0; i < 10; i++)   

iOS 本地缓存实现 方案借鉴

在手机应用程序开发中,为了减少与服务端的交互次数,加快用户的响应速度,一般都会在iOS设备中加一个缓存的机制,前面一篇文章介绍了iOS设备的内存缓存,这篇文章将设计一个本地缓存的机制. 功能需求 这个缓存机制满足下面这些功能. 1.可以将数据缓存到本地磁盘. 2.可以判断一个资源是否已经被缓存.如果已经被缓存,在请求相同的资源,先到本地磁盘搜索. 3.可以判断文件缓存什么时候过期.这里为了简单起见这里,我们在请求url资源的时候,给每次请求的文件设定一个过期的时间. 4.可以实现:如果文件已经被

关于本地缓存

今天电面时被问到了UIWebView的本地缓存,之前未关注过webview的缓存,所以查了下博文 原文链接:http://blog.csdn.net/zhuqilin0/article/details/6653532 在手机应用程序开发中,为了减少与服务端的交互次数,加快用户的响应速度,一般都会在iOS设备中加一个缓存的机制,前面一篇文章介绍了iOS设备的内存缓存,这篇文章将设计一个本地缓存的机制. 功能需求 这个缓存机制满足下面这些功能. 1.可以将数据缓存到本地磁盘. 2.可以判断一个资源是