// // PageInfo.m // airtree // // Created by WindShan on 2016/11/14. // Copyright © 2016年 Gloria. All rights reserved. // #import "PageInfo.h" @implementation PageInfo + (PageInfo *)infoFromDict:(NSDictionary *)dict { PageInfo *info = [[PageInfo alloc] init]; info.ID = [dict objectForKey:@"ClassName"]; info.name = [dict objectForKey:@"Title"]; info.image = [dict objectForKey:@"Image"]; info.selectImage = [dict objectForKey:@"SelectImage"]; info.unLoad = [[dict objectForKey:@"UnLoad"] boolValue]; return info; } + (NSArray *)pages { NSString *configFile = [[NSBundle mainBundle] pathForResource:@"TabBarPages" ofType:@"plist"]; NSArray *pageConfigs = [NSArray arrayWithContentsOfFile:configFile]; NSMutableArray *pages = [[NSMutableArray alloc] init]; if (pageConfigs.count <= 0) { BASE_ERROR_FUN(@"没有配置TabBarPages.plist"); } for (NSDictionary *dict in pageConfigs) { [pages addObject:[PageInfo infoFromDict:dict]]; } return pages; } + (NSArray *)pageControllers { NSMutableArray *controllers = [NSMutableArray array]; NSArray *pages = [PageInfo pages]; UIViewController *pageController = nil; UINavigationController *navPage = nil; for (PageInfo *pageInfo in pages) { if (pageInfo.unLoad) { continue; } pageController = [[NSClassFromString(pageInfo.ID) alloc] init]; navPage = [[UINavigationController alloc] initWithRootViewController:pageController]; pageController.title = pageInfo.name; pageController.tabBarItem.image = [UIImage imageNamed:pageInfo.image]; [controllers addObject:navPage]; } return controllers; } @end