iOS开发之字典数据建立模型步骤
2024-10-10 12:49:22
1. 在控制器属性的(questions)set方法中完成字典转模型的操作
- (NSArray *)questions { if (nil == _questions) { //1.加载plist文件 NSArray *dictArray = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"questions" ofType:@"plist"]]; //2.字典转模型 NSMutableArray *questionArray = [NSMutableArray array]; for (NSDictionary *dict in dictArray) { CLQuestion *question = [CLQuestion questionWithDict:dict]; [questionArray addObject:question]; } //3.赋值 _questions = questionArray; } }
2.新建模型类CLQuestion
//2.1依据字典内容建立对应的成员变量 /** 答案*/ @property (nonatomic, copy) NSString *answer; /** 图像名称*/ @property (nonatomic, copy) NSString *icon; /** 题目*/ @property (nonatomic, copy) NSString *title; /** 待选项*/ @property (nonatomic, strong) NSArray *options; //2.2新建2个初始化方法,仿照系统写法 一个对象方法 一个类方法 - (instancetype)initWithDict:(NSDictionary *)dict; + (instancetype)questionWithDict:(NSDictionary *)dict; //2.3在初始化方法中完成 依据字典内容对成员变量赋值 这里用KVC更简单 - (instancetype)initWithDict:(NSDictionary *)dict { if (self = [super init]) { self.icon = dict[@"icon"]; self.title = dict[@"title"]; self.answer = dict[@"answer"]; self.options = dict[@"options"]; } return self; } + (instancetype)questionWithDict:(NSDictionary *)dict { return [[self alloc]initWithDict:dict]; }
3.在控制器中使用的方法
CLQuestion *question = self.questions[self.index];
最新文章
- Mysql日期和时间函数不求人
- Objective-c知识小结
- Android03-Activity生命周期及启动模式
- 合并k个已排序的链表 分类: leetcode 算法 2015-07-09 17:43 3人阅读 评论(0) 收藏
- MapXtrem + Asp.net 地图随窗体改变大小
- YII 1.0 隐藏单入口index.php 设置路由与伪静态
- C#-----类DateTime的常用方法
- 1.rabbitmq高可用方案
- spring5 reactive
- 记一次KUBERNETES/DOCKER网络排障
- python 发送邮件脚本
- (GoRails)在导航栏增加自动的搜索功能(jquery插件:easyautocomplete)(gem 'ransack' 搜索对象4000✨)
- Oracle生成关闭外键的SQL语句
- php四排序-冒泡排序
- Ubuntu16.04下的主题美化
- 学习sqlserve的一些笔记
- post提交方式
- PHP开发工具(CodeLobster PHP Edition)
- SpringBoot 部署 docker 打包镜像
- layui-学习02-全局样式