zoukankan      html  css  js  c++  java
  • 字典转模型

    //
    //  heroObject.m
    //  herosList
    //
    //  Created by xin on 15/4/9.
    //  Copyright (c) 2015年 Jackey. All rights reserved.
    //
    
    #import "heroObject.h"
    
    @implementation heroObject
    
    -(instancetype)initWithDict:(NSDictionary *)dict{
        self = [super init];
        if (self) {
            [self setValuesForKeysWithDictionary:dict];
        }
        return self;
    }
    
    +(instancetype)heroWithDict:(NSDictionary *)dict{
        return [[self alloc]initWithDict:dict];
    }
    
    @end
    

      

    //
    //  heroObject.h
    //  herosList
    //
    //  Created by xin on 15/4/9.
    //  Copyright (c) 2015年 Jackey. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    
    @interface heroObject : NSObject
    
    //image
    @property (nonatomic,copy) NSString *icon;
    //description
    @property (nonatomic,copy) NSString *intro;
    //title
    @property (nonatomic,copy) NSString *name;
    
    +(instancetype)heroWithDict:(NSDictionary *)dict;
    
    @end
    

      

    //
    //  ViewController.m
    //  herosList
    //
    //  Created by xin on 15/4/9.
    //  Copyright (c) 2015年 Jackey. All rights reserved.
    //
    
    #import "ViewController.h"
    #import "heroObject.h"
    
    @interface ViewController ()<UITableViewDataSource,UITableViewDelegate>
    @property (weak, nonatomic) IBOutlet UITableView *tableView;
    
    @property (nonatomic,strong) NSArray *dict;
    
    @end
    
    @implementation ViewController
    
    -(NSArray *)dict{
        if(_dict == nil){
            NSString *path = [[NSBundle mainBundle]pathForResource:@"heros.plist" ofType:nil];
            NSArray *arr = [NSArray arrayWithContentsOfFile:path];
            
            NSMutableArray *arrayM = [NSMutableArray array];
            
            for (NSDictionary *dict in arr) {
                heroObject *hero = [heroObject heroWithDict:dict];
                [arrayM addObject:hero];
            }
            
            _dict = [arrayM copy];
            
        }
        return _dict;
    }
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
        self.tableView.dataSource = self;
        //self.tableView.rowHeight = 60;
        self.tableView.delegate = self;
    }
    
    /*
     * 组
     */
    -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
        return 1;
    }
    
    -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
        return self.dict.count;
    }
    
    -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
        UITableViewCell *cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:nil];
        heroObject *hero = self.dict[indexPath.row];
        cell.textLabel.text = hero.name;
        cell.detailTextLabel.text = hero.intro;
        cell.imageView.image =[UIImage imageNamed:hero.icon];
        return cell;
    }
    
    -(BOOL)prefersStatusBarHidden{
        return YES;
    }
    
    -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
        if(indexPath.row == 0){
            return 100;
        }else{
            return 60;
        }
    }
    
    @end
    

      

  • 相关阅读:
    字符流与字节流的区别
    向文件尾部追加内容
    Hashmap实现原理及扩容机制详解
    HashMap的put和get方法原理
    关于数字化工厂&智能工厂建设 IT 经验总结
    @所有人,网易数字+大会报名通道正式开启!
    WinForm程序打包1之快速入门
    解决安装.NET Framework不受信任的根证书
    Cannot resolve com.sun:tools:1.8.0 错误解决
    IDEA 2020报“java:程序包XXXX不存在”或“java:找不到符号”
  • 原文地址:https://www.cnblogs.com/lihaozhou/p/4412549.html
Copyright © 2011-2022 走看看