iOS缓存机制NSUserDefaults

原创 2015年11月20日 11:27:08
iOS缓存机制NSUserDefaults
     NSUserDefaults可以存取一些短小的信息。比如存入再读出一个字符串到NSUserDefaults:图片
    
但是并不是所有的东西都能往里放的。NSUserDefaults只支持: NSString, NSNumber, NSDate, NSArray, NSDictionary.

    如果把一个自定义的类存到一个NSArray里,然后再存到NSUserDefaults里也是不能成功的。不信可以试试,如果你成功的请告诉我。那怎么办呢?

     我找到的方法是,让这个自定义类实现<NSCoding>协议中的- (id) initWithCoder: (NSCoder *)coder方法和- (void) encodeWithCoder: (NSCoder *)coder方法(obj-c的协议protocol就是java的接口interface,就是C++的纯虚函数),然后把该自定义的类对象编码到NSData中,再从NSUserDefaults中进行读取。 

    假设有这样一个简单的类对象 
图片

    
然后再存取时通过NSData做载体:
 

图片

以上的代码时由另一个程序中截取的,没有测试过,但意思就是这样了。
如果一个自定义类中由另一个自定义类对象,那么所有嵌套的类都要实现<NSCoding>。


iOS NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象

摘要 NSUserDefaults适合存储轻量级的本地数据,一些简单的数据(NSString类型的)例如密码,网址等,NSUserDefaults肯定是首选,但是如果我们自定义了一个对象,对象保存的是...
  • sevenquan
  • sevenquan
  • 2015年12月30日 18:42
  • 3621

iOS NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象

摘要 NSUserDefaults适合存储轻量级的本地数据,一些简单的数据(NSString类型的)例如密码,网址等,NSUserDefaults肯定是首选,但是如果我们自定义了一个对象,对象保存的是...
  • SUMMER_csdn123
  • SUMMER_csdn123
  • 2017年05月26日 12:21
  • 642

OC-NSUserDefaults(简单数据持久化存储机制)

//将值放到一个中间位置,任何对象都可以访问该位置(单例,数据库,文件系统) // NSUserDefaults:用户默认设置,可以作为简单数据的持久化存储机制,基于文件系统(...
  • u011032334
  • u011032334
  • 2014年12月21日 16:58
  • 1645

iOS 数据持久化之NSUserDefaults-保存Settings

原创Blog,转载请注明 blog.csdn.net/hello_hwc前言:iOS的数据持久化存储分为很多种 普通文件,plist NSUserDefaults CoreData KeyChain...
  • Hello_Hwc
  • Hello_Hwc
  • 2015年04月27日 12:24
  • 4307

iOS笔记-(缓存机制的理解与实现)

提出缓存概念       在生活中,我们经常谈到手机缓存,有不少朋友问为啥我的手机内存少了那么多,可能有不少热心人士回答你的问题,说手机缓存了好多数据,快点清理一下拉,于是你马上下载手机卫士,360,...
  • samuelandkevin
  • samuelandkevin
  • 2015年04月25日 20:35
  • 3264

IOS 文件目录及NSUserDefaults浅谈

1.IOS文件目录 iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. documents,tmp,app...
  • crycheng
  • crycheng
  • 2014年03月27日 14:15
  • 9800

IOS缓存机制详解

人魔七七:http://www.cnblogs.com/qiqibo/ 为什么要有缓存 应用需要离线工作的主要原因就是改善应用所表现出的性能。将应用内容缓存起来就可以支持离线。我们可以用两...
  • wbw1985
  • wbw1985
  • 2014年02月26日 17:09
  • 6732

NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象

、了解NSUserDefaults以及它可以直接存储的类型 二、使用 NSUserDefaults 存储自定义对象 1、将自定义类型转换为NSData类型 2、将自定义类型数据存入 NSUserDef...
  • u012265444
  • u012265444
  • 2016年05月20日 21:40
  • 392

NSUserDefaults类的使用—— 专门用于保存用户偏好设置或用户Model

介绍:NSUserDefaults适合存储轻量级的本地数据,一些简单的数据(NSString类型的)例如密码,网址等。如果要使用NSUserDefaults存储自定义的对象还需要进行特定的处理。 一、...
  • u013087513
  • u013087513
  • 2015年09月27日 22:09
  • 1379

iOS 使用NSUserDefaults存取头像

本文将实现功能: 在应用的个人设置页面从相册或者拍照获取一张头像,并将这张头像照片保存在nsuserdefaults中,返回到了个人中心页面后,再从nsuserdefaults取出该头像...
  • u012320459
  • u012320459
  • 2016年07月12日 21:56
  • 1248
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS缓存机制NSUserDefaults
举报原因:
原因补充:

(最多只允许输入30个字)