1 #import <UIKit/UIKit.h>
2
3 @interface AppDelegate : UIResponder <UIApplicationDelegate>
4
5 @property (strong, nonatomic) UIWindow *window;
6
7
8 @end
1 #import "AppDelegate.h"
2 #import "RootViewController.h"
3 @interface AppDelegate ()
4
5 @end
6
7 @implementation AppDelegate
8
9
10 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
11 self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
12 // Override point for customization after application launch.
13 self.window.backgroundColor = [UIColor whiteColor];
14
15 RootViewController *root = [[RootViewController alloc] init];
16 UINavigationController *navi = [[UINavigationController alloc] initWithRootViewController:root];
17 self.window.rootViewController = navi;
18
19
20 [self.window makeKeyAndVisible];
21 return YES;
22 }
23
24
25 @end
1 #import <UIKit/UIKit.h>
2
3 @interface RootViewController : UIViewController
4
5 @end
1 #import "RootViewController.h"
2
3 @interface RootViewController ()<UITableViewDataSource,UITableViewDelegate>
4 {
5 UITableView *_tableView;
6 NSMutableDictionary *dataDic;
7 }
8 @end
9
10 @implementation RootViewController
11
12 - (void)loadView
13 {
14 [super loadView];
15 _tableView = [[UITableView alloc] initWithFrame:[[UIScreen mainScreen] bounds] style:UITableViewStyleGrouped];
16 _tableView.delegate = self;
17 _tableView.dataSource = self;
18 [self.view addSubview:_tableView];
19 }
20
21 - (void)viewDidLoad {
22 [super viewDidLoad];
23 NSArray *A = [NSArray arrayWithObjects:@"app",@"apple",@"alex",@"alert",@"alright",@"at",@"addic",@"awake",@"action",@"active", nil];
24 NSArray *B = [NSArray arrayWithObjects:@"belance",@"beyond",@"bell",@"bill",@"bet",@"bety",@"bright",@"beaty",@"beat",@"bite",@"bit",@"bake",@"blake",@"basket",@"basketball",@"ball",@"black",@"blue", nil];
25 NSArray *C = [NSArray arrayWithObjects:@"cake",@"cat",@"cap",@"cook",@"cooki",@"cate",@"cell",@"certain",@"city",@"clabe",@"clab",@"copy",@"cry", nil];
26 NSArray *D = [NSArray arrayWithObjects:@"dirty",@"del",@"directly",@"dry",@"dull",@"delly",@"dute", nil];
27 NSArray *E = [NSArray arrayWithObjects:@"elphance",@"every",@"else",@"emperty", nil];
28 NSArray *F = [NSArray arrayWithObjects:@"fly",@"flash",@"flag",@"fate",@"felt",@"fill",@"fell",@"fall",@"font",@"fake",@"flour",@"ferver",@"fetech", nil];
29 NSArray *G = [NSArray arrayWithObjects:@"girl",@"gipe",@"grap",@"gray",@"gay",@"gita",@"git",@"get",@"great",@"glass",@"glasses",@"good",@"google", nil];
30 dataDic = [NSMutableDictionary dictionaryWithObjectsAndKeys:A,@"A",B,@"B",C,@"C",D,@"D",E,@"E",F,@"F",G,@"G", nil];
31 }
32
33 #pragma mark -UITableView Delegate-
34
35 - (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView
36 {
37 return [[dataDic allKeys] sortedArrayUsingSelector:@selector(compare:)];
38 }
39
40 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
41 {
42 return [dataDic allKeys].count;
43 }
44
45 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
46 {
47 NSArray *keys = [[dataDic allKeys] sortedArrayUsingSelector:@selector(compare:)];
48 NSString *key = keys[section];
49 NSArray *array = dataDic[key];
50 return [array count];
51 }
52
53 - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
54 {
55 NSArray *keys = [[dataDic allKeys] sortedArrayUsingSelector:@selector(compare:)];
56 NSString *key = keys[section];
57 return key;
58 }
59
60 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
61 {
62 static NSString *identify = @"cell";
63 UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identify];
64 if (cell == nil) {
65 cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identify];
66 }
67 NSArray *keys = [[dataDic allKeys] sortedArrayUsingSelector:@selector(compare:)];
68 NSString *key = keys[indexPath.section];
69 NSArray *array = dataDic[key];
70 NSString *content = array[indexPath.row];
71 cell.textLabel.text = content;
72 return cell;
73 }
74
75 - (void)didReceiveMemoryWarning {
76 [super didReceiveMemoryWarning];
77 // Dispose of any resources that can be recreated.
78 }
79
80
81 @end