先设定viewController的Class,然后拉属性,在设置标识符
@interface LhbTableViewController : UITableViewController<UITableViewDataSource,UITableViewDelegate>@property (nonatomic,strong) NSDictionary *provinceDic;@property (nonatomic,strong) NSArray *cityArray;@end
#import "LhbTableViewController.h"#import "CityTableViewController.h"@interface LhbTableViewController ()@end@implementation LhbTableViewController- (void)viewDidLoad { [super viewDidLoad]; NSString *path = [[NSBundle mainBundle] pathForResource:@"provinces_cities" ofType:@"plist"]; self.provinceDic = [NSDictionary dictionaryWithContentsOfFile:path]; }- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}#pragma mark - Table view data source- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { // Return the number of sections. return 1;}- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return self.provinceDic.allKeys.count;}- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell" forIndexPath:indexPath];
//self.provinceDic.allKeys 是字典中所有的key (省份) [cell.textLabel setText:[self.provinceDic.allKeys objectAtIndex:indexPath.row]]; return cell;}隐藏状态栏//-(BOOL)prefersStatusBarHidden//{// return YES;//}#pragma mark - Navigation- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { //先比较segue if ([segue.identifier isEqualToString:@"province2city"]) { //目标控制器 CityTableViewController *cityVC = segue.destinationViewController; //取得省份的名字 NSString *provinceName = [self.provinceDic.allKeys objectAtIndex:[[self.tableView indexPathForSelectedRow] row]]; cityVC.title = provinceName; //在各个省份名中取得相应的字典 cityVC.cities = [self.provinceDic objectForKey:provinceName]; }}@end
@interface CityTableViewController : UITableViewController<UITableViewDelegate,UITableViewDataSource>@property (nonatomic,strong) NSArray *cities;@end
#import "CityTableViewController.h"#import "UrlViewController.h"@interface CityTableViewController ()@end@implementation CityTableViewController- (void)viewDidLoad { [super viewDidLoad]; }#pragma mark - Table view data source- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1;}- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return self.cities.count;}- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell" forIndexPath:indexPath]; // 从所在字典中取得key name所对应的value [cell.textLabel setText:[[self.cities objectAtIndex:indexPath.row] valueForKey:@"name"]]; return cell;}#pragma mark - Navigation- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([segue.identifier isEqualToString: @"city2url"] ) { UrlViewController *urlVC = segue.destinationViewController; //[self.tableView indexPathForSelectedRow] 是为了选取对应行 NSDictionary *cityDic = [self.cities objectAtIndex:[[self.tableView indexPathForSelectedRow] row]]; urlVC.url = [cityDic objectForKey:@"url"]; urlVC.title = [cityDic objectForKey:@"name"]; }}@end
拉进来一个webView!!!!!
@interface UrlViewController : UIViewController@property (weak, nonatomic) IBOutlet UIWebView *webView;@property (nonatomic,strong) NSString *url;@end
#import "UrlViewController.h"@interface UrlViewController ()@end
@implementation UrlViewController- (void)viewDidLoad { [super viewDidLoad]; //把字符串转化成 NSURL 类型的 NSURL *url = [NSURL URLWithString:self.url]; NSURLRequest * request =[NSURLRequest requestWithURL:url]; //加载 [self.webView loadRequest:request]; }- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; }@end
转载于:https://www.cnblogs.com/lhb-gn8080/p/4737680.html
相关资源:关于平级集合如何实现以树形结构呈现的demo