TableView省市区数组字典 属性传值
来源:互联网 发布:淘宝助手上传成功错误 编辑:程序博客网 时间:2024/05/21 22:56
三个tableView分别显示省 市 区 点击省跳转相应的市,点击市跳转相应的区
MainViewController.h
#import <UIKit/UIKit.h>@interface MainViewController : UIViewController@property(nonatomic,retain)NSMutableArray *cityArr;@property(nonatomic,retain)NSMutableArray *zoneArr;@end
MainViewController.m
#import "MainViewController.h"#import "SecondViewController.h"@interface MainViewController ()<UITableViewDataSource,UITableViewDelegate>@property(nonatomic,retain)NSMutableArray *proArr;@end@implementation MainViewController-(instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{ self=[super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { [self createData]; } return self;}- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. self.view.backgroundColor=[UIColor yellowColor]; self.navigationController.navigationBar.translucent=NO; // 铺一个tableView UITableView *tableView=[[UITableView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height-64) style:UITableViewStylePlain]; [self.view addSubview:tableView]; tableView.dataSource=self; tableView.delegate=self; [tableView release]; // 读出plist文件内容 NSString *path=[[NSBundle mainBundle]pathForResource:@"Student" ofType:@"plist"]; NSMutableDictionary *dic=[NSMutableDictionary dictionaryWithContentsOfFile:path]; NSLog(@"%@",dic);}-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return self.proArr.count;}-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSString *reuse=@"reuse"; UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:reuse]; if (!cell) { cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuse]; } // 先找到省字典 找到对应的省名 NSMutableDictionary *proDic=self.proArr[indexPath.row]; cell.textLabel.text=proDic[@"proName"]; return cell;}-(void)createData{ NSString *path=@"/Users/dllo/Desktop/UINote/UI 8-TableView省市区字典数组/UI 8-TableView省市区字典数组/area(1).txt"; NSString *str=[NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil]; NSArray *strArr=[str componentsSeparatedByString:@"\n"]; self.proArr=[NSMutableArray array]; for (NSString *temp in strArr) { if (![temp hasPrefix:@" "]) { // 创建一个省字典 NSMutableDictionary *proDic=[NSMutableDictionary dictionary]; // 将省名添加到省字典中 [proDic setObject:temp forKey:@"proName"]; // 创建一个市数组 self.cityArr=[NSMutableArray array]; // 将市数组添加到省字典中 [proDic setObject:self.cityArr forKey:@"cityArr"]; // 将省字典放到省数组中 [self.proArr addObject:proDic]; } else if ([temp hasPrefix:@" "]&&![temp hasPrefix:@" "]) { // 找到对应的城市 // 创建一个市字典 NSMutableDictionary *cityDic=[NSMutableDictionary dictionary]; // 将市名放到市字典中 [cityDic setObject:temp forKey:@"cityName"]; // 创建一个区数组 self.zoneArr=[NSMutableArray array]; // 将区数组添加到市字典中 [cityDic setObject:self.zoneArr forKey:@"zoneArr"]; // 给市字典找一个位置 // 市字典在省字典中 // 省字典在省数组中 NSMutableDictionary *proDic=[self.proArr lastObject]; self.cityArr=proDic[@"cityArr"]; [self.cityArr addObject:cityDic]; } else{ // 先找到省字典 NSMutableDictionary *proDic=[self.proArr lastObject]; // 找到市数组 self.cityArr=proDic[@"cityArr"]; // 找到市字典 NSMutableDictionary *cityDic=[self.cityArr lastObject]; // 找到区数组 self.zoneArr=cityDic[@"zoneArr"]; [self.zoneArr addObject:temp]; } } }-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ // 找到省字典 NSMutableDictionary *proDic = self.proArr[indexPath.row]; //省字典对应的市数组 self.cityArr = proDic[@"cityArr"]; SecondViewController *secVC=[[SecondViewController alloc]init]; [self.navigationController pushViewController:secVC animated:YES]; secVC.arr = self.cityArr; [secVC release];}
SecondViewController.h
#import <UIKit/UIKit.h>@interface SecondViewController : UIViewController@property(nonatomic,retain)NSMutableArray *arr;@end
SecondViewController..m
#import "SecondViewController.h"#import "ThirdViewController.h"@interface SecondViewController ()<UITableViewDataSource,UITableViewDelegate>@end@implementation SecondViewController- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. self.navigationController.navigationBar.translucent=NO; UITableView *tabelView=[[UITableView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height-64) style:UITableViewStylePlain]; [self.view addSubview:tabelView]; [tabelView release]; tabelView.dataSource=self; tabelView.delegate=self;}-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return self.arr.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]; } // 找到对应的市名 NSMutableArray *arr= self.arr; NSMutableDictionary *cityDic=arr[indexPath.row]; cell.textLabel.text=cityDic[@"cityName"]; return cell;}-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ ThirdViewController *thiVC=[[ThirdViewController alloc]init]; [self.navigationController pushViewController:thiVC animated:YES]; // 找到区数组 NSMutableDictionary *cityDic = self.arr[indexPath.row]; NSMutableArray *arr=cityDic[@"zoneArr"]; thiVC.arr=arr; [thiVC release];}
ThirdViewController.h
#import <UIKit/UIKit.h>@interface ThirdViewController : UIViewController@property(nonatomic,retain)NSMutableArray *arr;@end
ThirdViewController.m
#import "ThirdViewController.h"@interface ThirdViewController ()<UITableViewDataSource,UITableViewDelegate>@end@implementation ThirdViewController- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. self.navigationController.navigationBar.translucent=NO; UITableView *tabelView=[[UITableView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height -64 ) style:UITableViewStylePlain]; [self.view addSubview:tabelView]; [tabelView release]; tabelView.dataSource=self; tabelView.delegate=self;}-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return self.arr.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]; } // 找到区数组// NSMutableArray *arr=self.arr; cell.textLabel.text=self.arr[indexPath.row]; return cell;}-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ [self.navigationController popToRootViewControllerAnimated:YES];}
0 0
- TableView省市区数组字典 属性传值
- 一个TableView实现省市区字典数组的跳转
- OC_省市区字典数组
- 省市区字典数组
- OC-省市区字典数组
- 省市区字典数组
- 省市区字典数组
- UI08_tableview省市区字典数组
- UI09_UITableView省市区字典数组
- UI_UITableView省市区字典数组
- 省市区 数组套字典 字典套数组
- iOS OC06_省市区字典数组
- iOS UI08_tableView省市区字典数组
- 三个tableView的联动(省市区数组)
- #Objective-C 之 省市区 (数组-字典-数组-字典-数组)
- OC省市区数组套字典小结
- UITableView 数组与字典结合(省市区)
- 省市区字典数组嵌套(UI版)
- springmvc+jquery+ajaxfileupload.js实现带有文本域的文件上传
- 构造器的讲解和使用(8.12)
- HDOJ-1875-畅通工程再续
- Java/JSP使用JNI技术调用本地动态链接库
- Raspberry PI上安装OpenWRT
- TableView省市区数组字典 属性传值
- Lua笔记11-迭代器和闭包
- MySQL字符集设置及字符转换(latin1转utf8)
- Java笔试面试题006
- RPC
- 关于java方法是传递值还是引用的思考
- 多线程编程 实战篇 (三)
- Android应用开发之所有动画使用详解
- 基于ftp模式搭建的yum服务器