ios NSKeyedArchiver 保存对象与对象数组

废话不说,直接上代码

 1 //
 2 //  CommunityTool.h
 3 //  SmartCommunity
 4 //
 5 //  Created by chenhuan on 15/9/2.
 6 //  Copyright (c) 2015年 smartcommunity. All rights reserved.
 7 //
 8
 9 #import <Foundation/Foundation.h>
10 @interface CommunityTool : NSObject
11 + (void)SaveComunity:(NSArray *)homepageBeans;
12 + (NSMutableArray *)HomePageBean;
13 @end
 1 //
 2 //  CommunityTool.m
 3 //  SmartCommunity
 4 //
 5 //  Created by chenhuan on 15/9/2.
 6 //  Copyright (c) 2015年 smartcommunity. All rights reserved.
 7 //
 8
 9 #import "CommunityTool.h"
10
11 #define SChomepagePath [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"homepage.archive"]
12
13 @implementation CommunityTool
14 + (void)SaveComunity:(NSArray *)homepageBeans{
15     [NSKeyedArchiver archiveRootObject:homepageBeans toFile:SChomepagePath];
16 }
17 + (NSMutableArray *)HomePageBean{
18     return [NSKeyedUnarchiver unarchiveObjectWithFile:SChomepagePath];
19 }
20 @end
时间: 2024-10-10 20:03:59

ios NSKeyedArchiver 保存对象与对象数组的相关文章

iOS文档序列化(对象归档)

对象归档: 概念: 对象归档是指将对象写入文件保存在硬盘,当再次重新打开程序时,可以还原这些对象.也称:对象序列化.对象持久化. 数据持久性的方式(其实就是3类) 1,NSKeyedArchiver--对象归档 2,NSUserDefaults  3,属性列表 4,SQLite数据库  5,Core Data数据库 归档方式: 对Foundation库中对象进行归档 自定义对象进行归档(需要实现归档协议,NSCoding) 归档与属性列表的区别: 1,归档后的文件是加密的,属性列表是明文的. 2

如果一个Object对象可能是数组那么如何对其进行迭代

需求:一个方法传入的参数是Object类型(假设对象为“items”,使用Object类型也是为了使用多态而增加方法复用性),但已知这个Object对象可能是基本类型数组,也可能是对象数组,如何将这个对象中的数组元素进行迭代,同时添加进一个集合中(我们不关心添加迭代出来的值是什么类型). 分析:如果想将一个数组迭代添加进一个集合中,那么我们最可能想到是的使用数组工具类Arrays的asList(T…a)方法: 但是这个方法的不足之处在于,对于对象数组,可以将对象数组中的每个元素迭代添加到一个Li

Android SharedPreferences保存和读取对象

SharedPreferences保存和读取对象 1.首先要序列化对象(以下是序列化实体类的样例,不方便贴出实体类全部的代码) public class LoginResult extends BaseResult implements Serializable{ private static final long serialVersionUID = 1L; private String mobiletoken; 2.保存和读取对象的封装 public class ObjectSaveUtil

JS 字符串对象 数组对象 函数对象 函数作用域

一.内置对象 object对象:ECMAScript 中的所有对象都由这个对象继承而来:Object 对象中的所有属性和方法都会出现在其他对象中 ToString() : 返回对象的原始字符串表示.ValueOf() : 返回最适合该对象的原始值.对于许多对象,该方法返回的值都与 ToString() 的返回值相同 11种内置对象 包括: Array ,String , Date, Math, Boolean, Number  Function, Global, Error, RegExp ,

判断对象是否为数组/函数

打印Object的prototype属性: 有一个toString方法,不同于一般变量的toString方法,当Object的toString方法执行时: 1.获取当前对象的[[Class]]属性的值; 2.返回 "[object " + 第一步得出的值+ "]"格式的字符串,例如[object Array], 解析: [[Class]]是一种内部属性,所有的对象(原生对象和宿生对象)都拥有该属性,描述该对象的类型 (值得注意的是[[Class]]的值只能是Obje

json数组对象和对象数组

一.Json的简单介绍 从结构上看,所有的数据最终都可以分成三种类型: 第一种类型是scalar(标量),也就是一个单独的string(字符串)或数字(numbers),比如“北京”这个单独的词. 第二种类型是sequence(序列),也就是若干个相关的数据按照一定顺序并列在一起,又叫做array(数组)或List(列表),比如“北京,东京”. 第三种类型是mapping(映射),也就是一个名/值对(Name/value),即数据有一个名称,还有一个与之相对应的值,这又称作hash(散列)或di

JSON对象与JSON数组的长度和遍历方法

JSON对象与JSON数组的长度和遍历方法         1.json对象的长度与遍历                 结构:var json={“name”:”sm”,”sex”:”woman”}                 遍历的方法:for(var js2 in json){                                                 alert(js2 + “=” + json[js2]);                            

Android学习之Bitmap对象与字节数组相互转换

1.将Bitmap对象读到字节数组中 ByteArrayOutputStream baos = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos); byte[] datas = baos.toByteArray(); 2.将字节数组转为Bitmap对象 byte[] b = getIntent().getByteArrayExtra("bitmap"); Bitmap

类中属性返回形式(对象,关联数组,索引数组)

class A { public $x, $y; function __construct($x, $y)  { $this->x = $x; $this->y = $y; } function get_value($arr = true)  { if($arr == 'arr')   { // 类中属性以关联数组形式转换返回 return get_object_vars($this); }else if($arr == 'obj')   { //类中属性以对象形式返回 return $thi