美团HD(9)-监听点击城市
DJSelectCityViewController.h
// 点击城市发出通知 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { // 1. 发送点击的城市名 DJCityGroup *cityGroup = self.cityGroups[indexPath.section]; [[NSNotificationCenter defaultCenter] postNotificationName:DJCityDidChangeNotification object:nil userInfo:@{DJSelectCityName:cityGroup.cities[indexPath.row]}]; // 2. 关闭当前controller [self dismissViewControllerAnimated:YES completion:nil]; }
DJHomeViewController.m
/** 监听到城市改变广播 */ - (void)onReceiveCityChangeNotification:(NSNotification *)notification { NSString *selectedCityName = notification.userInfo[DJSelectCityName]; // 1. 更新当前显示地区 DJNavItem *areaView = self.areaItem.customView; [areaView setTitle:[NSString stringWithFormat:@"%@ - 全部",selectedCityName]]; }
DJConstantValue.m
#import <Foundation/Foundation.h> /* 通知 */ NSString *const DJCityDidChangeNotification = @"DJCityDidChangeNotification"; NSString *const DJSelectCityName = @"DJSelectCityName";