就是在增加功能和逻辑时不改动逻辑代码,通过修改配置文件来增加功能,直接增加键值就行
pragma mark UICollectionView被选中时调用的方法
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
QXMFatherHomeIndexCollectionModel *model = self.bottomTabList[indexPath.row];
[QXMUtility trackName:@"功能列表" data:@{@"名称":model.tabTitle}];
if ([[self blockDictionary] valueForKey:model.tabType]) {//字典,减少else if判断
QXMWeakSelf
void (^block)(UIViewController *,NSString *) = [[self blockDictionary] valueForKey:model.tabType];
block(weakSelf,model.tabTitle);
} else {//BEGINNERS 新手学堂 和其他H5界面
[QXMUtility jumpWebH5ByController:self url:model.url isRightItem:model.isHaveShare isHiddenNavagation:model.isHiddenNavagation isHaveComment:model.isHaveComment];
}
}
pragma mark -- block字典
-(NSDictionary *)blockDictionary {
return @{
@"IPO":[^(UIViewController *VC,NSString *data) {//新股中心
QXMNewStockCenterVC *newStock= [[QXMNewStockCenterVC alloc] init];
[VC.navigationController pushViewController:newStock animated:YES];
} copy],
@"BILLBOARD":[^(UIViewController *VC,NSString *data) {//龙虎榜
QXMBillboardVC *bill= [[QXMBillboardVC alloc] init];
[VC.navigationController pushViewController:bill animated:YES];
[MobClick event:UM_QXMBillboard];
} copy],
@"ECONOMIC_CALENDAR":[^(UIViewController *VC,NSString *data) {/** 财经日历 */
QXMEconomicCalendarVC *economicCalendar = [[QXMEconomicCalendarVC alloc] init];
[VC.navigationController pushViewController:economicCalendar animated:YES];
} copy],
@"MARGIN_TRADING":[^(UIViewController *VC,NSString *data) {//融资融券
QXMMarginTradingVC *vc= [[QXMMarginTradingVC alloc] init];
[VC.navigationController pushViewController:vc animated:YES];
[MobClick event:UM_QXMMarginTrading];
} copy],
@"LIKEKLINE":[^(UIViewController *VC,NSString *data) {//相似k线
QXMSimilarKSearchVC *vc= [[QXMSimilarKSearchVC alloc] init];
vc.title = data;
[VC.navigationController pushViewController:vc animated:YES];
} copy],
@"ACCOUNT":[^(UIViewController *VC,NSString *data) {/** 开户接口 */
[QXMUtility jumpTKOpenListVC:VC mParams:nil];
} copy],
@"MULTITRAYLIMIT":[^(UIViewController *VC,NSString *data) {//涨停复盘//智能复盘
QXMIntelligentCheckingVC *vc= [[QXMIntelligentCheckingVC alloc] init];
[VC.navigationController pushViewController:vc animated:YES];
} copy],
@"STOCKINDEX":[^(UIViewController *VC,NSString *data) {//条件选股
QXMStockIndexFatherVC *vc = [[QXMStockIndexFatherVC alloc] init];
[VC.navigationController pushViewController:vc animated:YES];
} copy],
};
}