1.先创建类目类:继承于NSUserDefaults

2其次前提:保存的model要实现NSCoding

3.在自定义的类目实现这两个方法

-(void)setCustomObj:(id)obj forKey:(NSString *)key;

-(id)customObjForKey:(NSString *)key;

在自定义的类目中实现这两个方法

-(void)setCustomObj:(id)obj forKey:(NSString *)key

{

if ([obj respondsToSelector:@selector(encodeWithCoder:)] == NO) {

NSLog(@"对象存入失败!对象必须实现NSCoding 协议的 encodeWithCoder:方法");

return;

}

NSData * encodeObject = [NSKeyedArchiver archivedDataWithRootObject:obj];

NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];

[defaults setObject:encodeObject forKey:key];

[defaults synchronize];

}

-(id)customObjForKey:(NSString *)key

{

NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];

NSData * encodeObject = [defaults objectForKey:key];

if (encodeObject == nil) {

return nil;

}

id obj = [NSKeyedUnarchiver unarchiveObjectWithData:encodeObject];

return obj;

}

4.再次来到我们保存model中实现NSCoding协议

- (id)initWithCoder:(NSCoder *)decoder

{

self = [super initWithCoder:decoder];

if (self) {

self.cityId = [decoder decodeObjectForKey:@"cityId"];

self.cityName = [decoder decodeObjectForKey:@"cityName"];

self.cityLat = [decoder decodeObjectForKey:@"cityLat"];

self.cityLng = [decoder decodeObjectForKey:@"cityLng"];

self.firstCharacter = [decoder decodeObjectForKey:@"firstCharacter"];

self.subsidiaryBankId = [decoder decodeObjectForKey:@"subsidiaryBankId"];

}

return self;

}

- (void)encodeWithCoder:(NSCoder *)aCoder

{

[aCoder encodeObject:self.cityId forKey:@"cityId"];

[aCoder encodeObject:self.cityName forKey:@"cityName"];

[aCoder encodeObject:self.cityLat forKey:@"cityLat"];

[aCoder encodeObject:self.cityLng forKey:@"cityLng"];

[aCoder encodeObject:self.firstCharacter forKey:@"firstCharacter"];

[aCoder encodeObject:self.subsidiaryBankId forKey:@"subsidiaryBankId"];

}

5.最后来到控制器中,实例化类目,就可以实现保存model

转载于:https://www.cnblogs.com/fantasy3588/p/4773777.html

iOS保存model数据(自定义Model 可以存放到本地)相关推荐

  1. django model数据 时间格式

    from datetime import datetime dt = datetime.now() print '时间:(%Y-%m-%d %H:%M:%S %f): ' , dt.strftime( ...

  2. ExtJS Model数据实体模型

    1.ExtJS数据模型基础 ExtJS数据包中重要的三类:Model(数据实体模型).Store(数据集)和Proxy(数据代理) ExtJS的数据模型主要包括: 数据实体模型:Model 数据实体模 ...

  3. iOS - NSUserDefaults 实现数据的持久化保存

    前言 在开发的时候,我们经常会遇到一些场景,需要我们持久化保存一些数据.通常我们会将相对结构化的数据保存在远端或者本地的数据库中,而对于相对零散的变量数据,保存在数据库中是不太合适的.这时,接下介绍的 ...

  4. [golang gin框架] 4.自定义Model以及Gin 文件上传

    一.Gin 中自定义 Model 关于 Model 如果应用非常简单的话,我们可以在 Controller 里面处理常见的业务逻辑,但是如果 有一个功能想在多个控制器.或者多个模板里面复用的话,那么就 ...

  5. 什么是php model类,thinkphp的自定义model类有什么作用?

    请问,thinkphp的自定义model类有什么作用?如: <?php //自定义Modle类 namespace Home\Model; use Think\Model; class StuM ...

  6. APP如何保存数据?——iOS保存数据的4种方式

    在iOS开发过程中,不管是做什么应用,都会碰到数据保存的问题.将数据保存到本地,能够让程序的运行更加流畅,不会出现让人厌恶的菊花形状,使得用户体验更好.下面介绍一下数据保存的方式: 1.NSKeyed ...

  7. 万能的model数据选择列表

    一.测试用例Person类说明: 头文件: #import <Foundation/Foundation.h> @interface Person : NSObject @property ...

  8. python保存与加载LGBM模型,并解决报错TypeError: Need at least one training dataset or model file or model string..

    方法一(适用于sklearn接口:from lightgbm import LGBMClassifier) 比如现在有一个lgbm_model import joblib# 保存 joblib.dum ...

  9. 同样是保存模型,model.save()和model. save_weights ()有何区别

    model.save()保存了模型的图结构和模型的参数,保存模型的后缀是.hdf5. model. save_weights ()只保存了模型的参数,并没有保存模型的图结构,保存模型的后缀使用.h5. ...

  10. iOS开发之数据存储

    概览 在iOS开发中数据存储的方式可以归纳为两类:一类是存储为文件,另一类是存储到数据库.例如前面IOS开发系列-Objective-C之Foundation框架的文章中提到归档.plist文件存储, ...

最新文章

  1. R语言临床预测模型的评价指标与验证指标实战:综合判别改善指数IDI(Integrated Discrimination Improvement, IDI)
  2. P2014 选课 (树形动规)
  3. C++虚函数实现多态的机制
  4. SSD框架训练自己的数据集
  5. 常见的CSS和HTML面试题
  6. [Asp.net core 3.1] 通过一个小组件熟悉Blazor服务端组件开发
  7. Java抓取淘宝/天猫商品详情
  8. LeetCode 1472. 设计浏览器历史记录(双栈)
  9. GPU CUDA 杭州宣讲会
  10. STM32工作笔记0014---认识emWin图形设计框架
  11. Delphi编译指令了解学习
  12. 神仙文献管理软件Mendeley 保姆级教程
  13. javaweb JSP JAVA 酒店预订系统j酒店管理系统民宿预订)酒店客房预订系统宾馆客房预订系统
  14. android 平板键盘布局,android 4.1 平板连接USB键盘,默认键盘布局
  15. 忍者必须死3突然服务器维修,《忍者必须死3》3月12日2:00停服维护公告
  16. MAC默认软件安装位置
  17. python绘制8×8棋盘_python图形工具turtle绘制国际象棋棋盘
  18. vue-happy-scroll实现上拉加载更多(vue)
  19. 0315 财经爬虫实战
  20. 量化交易 实战第十一课 回归法选股 part 1

热门文章

  1. 扎克伯格凌晨放大招,说几句话能造世界的那种
  2. 动视暴雪员工大罢工:因CEO被曝多次包庇高管性侵下属、本人曾性骚扰助理
  3. 咱们程序员,能吵吵就别动手!现在靠说就可以编程,支持Java、Python等10种语言|免费...
  4. ISC 2020技术日丨 网络空间危机四伏,如何发现威胁的蛛丝马迹?
  5. 深挖之后吓一跳,谷歌AI专利何止一个dropout,至少30项今日生效
  6. Oracle NULL 和空值
  7. 01-利用思维导图梳理JavaSE-Java语言基础
  8. spring注解@Component、@Repository、@Service、@Controller
  9. 在Anacoda中管理多个版本Python
  10. 省时省事省力 巧用阿里ECS D1构建大数据处理平台