//
// 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
原文:http://www.cnblogs.com/lihaozhou/p/4412549.html