iOS开发-数组本地存储, JSONModel本地储存实现
来源:互联网 发布:js上拉加载更多 编辑:程序博客网 时间:2024/06/06 12:37
一:数组本地化实现
NSArray *array1 =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *documents = [array1 lastObject];
NSString *documentPath = [documents stringByAppendingPathComponent:@"arrayXML.xml"];
// 准备好要存到本地的数组
NSArray *dataArray= [NSArray arrayWithArray:[responseobjectForKey:@"data"]];
//将数组存入到指定的本地文件
BOOLisyes = [dataArray writeToFile:documentPathatomically:YES];
//可对已经存储的数组进行查询等操作
NSArray *resultArray = [NSArray arrayWithContentsOfFile:documentPath];
NSLog(@"%@,isyes=%d", documentPath,isyes);
二:本地存储Model
- (void)saveUserInfo:(UserInfoModel *)userinfo {
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:userinfo];
[UserDefaultHandlersaveUserDetault:datakey:kUserInfoData];
//取数据,解码
// NSData *data = [UserDefaultHandler getUserDetaultData:kUserInfoData];
// UserInfoModel *userinfo = [NSKeyedUnarchiver unarchiveObjectWithData:datas];
}
UserInfoModel.h
#import <JSONModel/JSONModel.h>
@class UserInfoModel;
@interface BPLoginResultModel :JSONModel
@property(nonatomic,strong)UserInfoModel<Optional> *UserInfo;
@end
@interface UserInfoModel : JSONModel<NSCoding>
@property (nonatomic,strong)NSString<Optional> *CardFaceNo;//卡面号
@property (nonatomic,strong)NSString<Optional> *VipName;//姓名
@end
UserInfoModel.m
#import "BPLoginResultModel.h"
@implementation BPLoginResultModel
@end
@implementation UserInfoModel
- (void)encodeWithCoder:(NSCoder *)aCoder
{
[aCoder encodeObject:self.CardFaceNoforKey:@"CardFaceNo"];
[aCoder encodeObject:self.VipNameforKey:@"VipName"];
}
- (instancetype)initWithCoder:(NSCoder *)aDecoder
{
if (self = [superinit]) {
self.CardFaceNo = [aDecoderdecodeObjectForKey:@"CardFaceNo"];
self.VipName = [aDecoderdecodeObjectForKey:@"VipName"];
}
returnself;
}
@end
三:数组元素是model的数组本地存储
NSArray *array1 =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *documents = [array1lastObject];
NSString *documentPath = [documentsstringByAppendingPathComponent:arrayName];
// 准备好要存到本地的数组
NSArray *dataArray= [NSArrayarrayWithArray:erpUserList];
// 将数组序列化后再存储
NSData *arrayData = [NSKeyedArchiverarchivedDataWithRootObject:dataArray];
BOOL isTureWrite = [arrayDatawriteToFile:documentPathatomically:YES];
// 取数据再反序列化NSData *resultData = [NSDatadataWithContentsOfFile:documentPath];
NSArray *resultArray = [NSKeyedUnarchiverunarchiveObjectWithData:resultData];//将数据反序列化
其中model同二所属,需要实现方法- (void)encodeWithCoder:(NSCoder *)aCode。- (instancetype)initWithCoder:(NSCoder *)aDecoder
- iOS开发-数组本地存储, JSONModel本地储存实现
- IOS开发本地数据存储
- iOS开发-------Sqlite3实现本地存储简易通讯录
- iOS开发-------FMDB实现本地存储简易通讯录
- iOS开发-------FMDB实现本地存储简易通讯录
- HTML5本地储存追加利用html5的本地存储功能实现登录用户信息保存
- HTML5本地存储里储存对象
- iOS开发------本地存储-NSKeyedArchiver & NSKeyedUnarchiver(归档)
- ios实现 本地存储 数据持久化
- iOS本地存储的代码实现
- HTML5特性 > 本地储存 >HTML5 Web本地存储
- HTML5特性 > 本地储存 >HTML5本地存储详解
- 本地存储数组
- Html5本地储存localStorage 之储存json数组
- iOS 使用levelDB储存本地数据
- IOS 本地储存(数据持久化)
- ios本地存储篇
- ios本地数据存储
- 匹配、覆盖、独立集、二分图与网络流
- pat1111-1120
- ORACLE 死锁问题剖析
- scrapy的安装
- 布萌区块链使用指南:内有N多“踏坑”经验(多图)
- iOS开发-数组本地存储, JSONModel本地储存实现
- 软件工程第一章知识点总结
- redis的密码设置(2 section)
- 002-Apache Maven 构建生命周期
- Linux----信号屏蔽与解除并递达
- java中String stringBuffer StringBuider
- MySQL命令行大全
- EXE与SYS通信(缓冲模式)
- php屏蔽页面刷新对计数器的影响