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];
    
  • 相关阅读:
    nohup
    MYSQL提权总结
    udf提权方法和出现问题汇总
    windows 2012 抓明文密码方法
    用CPAU替代RUNAS
    MS15-034 HTTP.sys (IIS) DoS And Possible Remote Code Execution – AGGIORNAMENTO CRITICO
    php注入专题
    Mysql 另类盲注中的一些技巧
    Elasticsearch Groovy任意命令执行漏洞EXP
    linux好用的擦屁股工具
  • 原文地址:https://www.cnblogs.com/iyou/p/3632102.html
Copyright © 2011-2022 走看看