• 【代码笔记】iOS-城市plist


    一,效果图。

    二,工程图。

    三,代码。

    RootViewController.h

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

     

    RootViewController.m

    复制代码
    #import "RootViewController.h"
    
    @interface RootViewController ()
    
    @end
    
    @implementation RootViewController
    @synthesize keyArray;
    
    - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
    {
        self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
        if (self) {
            // Custom initialization
        }
        return self;
    }
    
    - (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--");
    }
    
    - (void)didReceiveMemoryWarning
    {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
    复制代码

     

  • 相关阅读:
    ASP.NET程序中常用的三十三种代码
    .NET面试题之1
    Assembly ‘X’ could not be uninstalled because it is required by another application
    Globalization and Localization
    SQL 2005 Reporting Services:物理分页和逻辑分页 SSRS 2008 report export to PDF Cannot get size to work
    GAC 学习
    Repeating Tablix Headers In SSRS 2008
    How do work with NULL in TSQL
    Visual C++ Native and .NET Interoperability
    C# WinForm开发系列 Reporting Services
  • 原文地址:https://www.cnblogs.com/yang-guang-girl/p/5044178.html
Copyright © 2020-2023  润新知