• 字典转模型


    //
    //  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
    

      

  • 相关阅读:
    面试题总结
    h5c3新特性
    redis常用命令大全
    windows下挂载linux的nfs网络硬盘
    mysql之char、varchar、text对比
    Lua与C的交互
    通信模型socket
    程序编译流程
    区块链共识机制(POW、POS、DPOS等)的优缺点
    .net c#获取自定义Attribute
  • 原文地址:https://www.cnblogs.com/lihaozhou/p/4412549.html
Copyright © 2020-2023  润新知