zoukankan      html  css  js  c++  java
  • iOS开发之字典数据建立模型步骤

     

     

    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];
    
  • 相关阅读:
    配置ftp服务器只能上传不能进行其他操作
    教你用CMD命令查询域名的DNS解析记录:A,NS,MX,CNAME,TXT
    js 多选选择删除数据
    类加载是为了执行静态方法
    数据库 基本命令
    在where子句中经常使用的运算符
    数据库编码问题
    JSP2.0自定义标签
    实现一个基本防盗链标签
    自定义标签
  • 原文地址:https://www.cnblogs.com/iyou/p/3632102.html
Copyright © 2011-2022 走看看