#import "RootViewController.h"
#import "Student.h"
#import "Movie.h"
@interface RootViewController ()<UITableViewDataSource, UITableViewDelegate>
@property(nonatomic, retain)UITableView *tableView;
@property(nonatomic, retain)NSMutableArray *studentArray;
@end
@implementation RootViewController
- (void)dealloc
{
[_tableView release];
[_studentArray release];
[super dealloc];
}
- (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
[self createData];
}
return self;
}
- (void)createData {
NSString *path = [[NSBundle mainBundle] pathForResource:@"movielist" ofType:@"txt"];
NSData *data = [NSData dataWithContentsOfFile:path];
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
NSArray *arr = dic[@"result"];
self.studentArray = [NSMutableArray array];
for (NSMutableDictionary *tempDic in arr) {
Movie *movie = [[Movie alloc] init];
[movie setValuesForKeysWithDictionary:tempDic];
[self.studentArray addObject:movie];
[movie release];
}
for (Movie *mov in self.studentArray) {
NSLog(@"%@", mov.movieName);
}
}
- (void)viewDidLoad {
[super viewDidLoad];
self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) style:UITableViewStylePlain];
[self.view addSubview:self.tableView];
[_tableView release];
self.tableView.delegate = self;
self.tableView.dataSource = self;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return self.studentArray.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *reuse = @"reuse";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:reuse];
if (!cell) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:reuse] autorelease];
}
Movie *movie = self.studentArray[indexPath.row];
cell.textLabel.text = movie.movieName;
return cell;
}
Movie.h
#import <Foundation/Foundation.h>
@interface Movie : NSObject
@property(nonatomic, copy)NSString *movieId;
@property(nonatomic, copy)NSString *movieName;
@property(nonatomic, copy)NSString *pic_url;
@end
Movie.m
#import "Movie.h"
@implementation Movie
- (void)dealloc
{
[_movieId release];
[_movieName release];
[_pic_url release];
[super dealloc];
}
- (void)setValue:(id)value forUndefinedKey:(NSString *)key {
}
@end