首页 > 代码库 > 用plist显示城市

用plist显示城市

 

没有点击索引的时候的效果图:

 

 

点击索引后的效果图:

 

 

 

代码:

 

RootViewController.h

#import <UIKit/UIKit.h>@interface RootViewController : UIViewController<UITableViewDelegate,UITableViewDataSource>{    UITableView * city;    NSDictionary * dic;}@property(nonatomic,strong) NSArray * keyArray;@end

 

RootViewController.m

- (void)viewDidLoad{    [super viewDidLoad];    // Do any additional setup after loading the view.        //初始化界面    [self initBackgroundView];   }#pragma -mark -functions-(void)initBackgroundView{    city = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 460-44) style:UITableViewStylePlain];    city.delegate = self;    city.dataSource = self;    [self.view addSubview:city];        dic = [[NSDictionary alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"citydict" ofType:@"plist"]];    self.keyArray = [dic.allKeys sortedArrayUsingDescriptors:[NSArray arrayWithObjects:[NSSortDescriptor sortDescriptorWithKey:nil ascending:YES], nil]];}#pragma -mark -UITableViewDelegate-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{    return dic.count;}-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{    NSArray * array = [dic objectForKey:[self.keyArray objectAtIndex:section]];    return array.count;}-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{    return [self.keyArray objectAtIndex:section];}-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{    UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"ID"];    if(cell == nil){        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@"ID"];    }    cell.textLabel.text = [[dic objectForKey:[self.keyArray objectAtIndex:indexPath.section]] objectAtIndex:indexPath.row];    return cell;}-(NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{    return self.keyArray;}-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{    NSLog(@"---didSelectRowAtIndexPath--");}

 

用plist显示城市