-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathListRenderer.m
73 lines (56 loc) · 1.58 KB
/
ListRenderer.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
//
// Renderer.m
// AvocadoTest1
//
// Created by Jake on 12-01-17.
// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//
#import "ListRenderer.h"
#import "CustomViewCell.h"
@implementation ListRenderer
@synthesize listData;
@synthesize sectionNames;
-(id)init
{
self = [super init];
if (self) {
listData = [[NSMutableArray alloc] init];
sectionNames = [[NSMutableArray alloc] init];
}
return self;
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
// Return the number of sections.
return [listData count];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [[listData objectAtIndex:section] count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
id cellData = [[listData objectAtIndex:[indexPath section]]objectAtIndex:[indexPath row]];
CustomViewCell *cell = [tableView dequeueReusableCellWithIdentifier:[CustomViewCell cellIdentifierForData:cellData]];
if (cell == nil) {
cell = [CustomViewCell customViewCellFromData:cellData];
}
else
{
[cell setData:cellData];
}
return cell;
}
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
return [sectionNames objectAtIndex:section];
}
-(id)objectForCellAtIndex:(NSIndexPath *)index
{
return [[listData objectAtIndex:[index section]] objectAtIndex:[index row]];
}
-(void)dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
@end