zoukankan      html  css  js  c++  java
  • Plist数据表格的加载详细事例

    Plist数据表格的加载详细事例

    1、本次主要加载单一字典的plist数据(app.plist),形式如下

     

    2、加载plist数据,先将数据字典转换成对应的模型,本例子所用的是各个应用的图标,对应的就应该创建一个应用图标的模型huapp(名称自拟)。在头文件中定义所有变量,以及将字典转换成模型数据的两个方法,如下图:

     

    类方法调用对象方法,在对象方法中转换模型

     

    注意:在对象方法中属性的转化还可已使用KVC,一句代码就解决

      [self setValuesForKeysWithDictionary:dict];

    但是使用KVC,就会将字典中所有的属性一次性转化完,缺少没有用的属性也会报错。

    3、在控制器中,首先定义一个数组,用来存备用的信息,使用懒加载来加载数组并转化模型数据;

    / 加载应用信息

    @property (nonatomic,strong) NSArray * apps;  // 数组存入备用信息

    转化的事例代码如下:

    - (NSArray *)apps

    {

        if (_apps == nil)

        {

            // 获取plist的全路径

            NSBundle * bunder = [NSBundle mainBundle];

            NSString * path = [bunder pathForResource:@"app.plist" ofType:nil];

            // 加载数组

            NSArray * dictArray = [NSArray arrayWithContentsOfFile:path];

           

            // 将数组的字典转换成模型对象,存到新的数组中

            NSMutableArray * appArray = [NSMutableArray array];

            for (NSDictionary * dict in dictArray)

            {

                // 创建模型对象

                huapp * app = [[huapp alloc] initWithDict:dict];

               

                // 添加模型对象到数组中

                [appArray addObject:app];

            }

           

            _apps = appArray;

        }

        //  返回数据

        return _apps;

    }

    4、使用数据时,app.icon 就是对应的图标名称,app.name就是对应的应用名称

    先取出对应的模型:huapp * app = self.app[i]; // i就是对应位置

                      UIButton * button= [[UIButton alloc]init];

    [buttonset Image:[UIImageimage WithNamed:icon]forState:UIControlStateNormal]

    [button setTitle:app.name forState: UIControlStateNormal];

  • 相关阅读:
    图片处理帮助类
    网站前端的优化
    状态码大全
    服务端性能监控工具Nmon使用方法
    jmeter测试报告解析
    jmeter聚合报告
    jmeter跨线程组调用参数
    jmeter生成测试报告
    Jmeter获取cookie
    monkey的使用方法和常见命令
  • 原文地址:https://www.cnblogs.com/angongIT/p/3809130.html
Copyright © 2011-2022 走看看