Ios NSNotificationCenter没有';行不通
我做如下通知:我在mainView中有代码:Ios NSNotificationCenter没有';行不通,ios,objective-c,notifications,Ios,Objective C,Notifications,我做如下通知:我在mainView中有代码: - (void)viewDidLoad { CGRect view1Hrame; view1Hrame.origin.x = 160; view1Hrame.origin.y = 215; view1Hrame.size = self.currenWeatherView.frame.size; weatherViewController *view1 = [[weatherViewController alloc] initWithForecas
- (void)viewDidLoad
{
CGRect view1Hrame;
view1Hrame.origin.x = 160;
view1Hrame.origin.y = 215;
view1Hrame.size = self.currenWeatherView.frame.size;
weatherViewController *view1 = [[weatherViewController alloc] initWithForecast:[[Forecast alloc] initWithForecastInCurrentLocation]];
[[NSNotificationCenter defaultCenter] addObserver:view1 selector:@selector(forecastChanged) name:@"forecastChanged" object:nil];
view1.view.backgroundColor = [UIColor colorWithRed:0 green:255 blue:0 alpha:0.06];
[currenWeatherView addSubview: view1.view];
}
在预测类中:
[[NSNotificationCenter defaultCenter] postNotificationName:@"forecastChanged" object:nil];
在weatherViewController中
- (void)viewDidLoad
{
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(forecastChanged) name:@"forecastChanged" object:nil];
// Do any additional setup after loading the view from its nib.
}
它不起作用。我做错了什么?如果要在
weatherViewController
中调用通知,则需要定义此类的viewDidLoad方法
确保正在调用此viewController的viewDidLoad 不工作意味着??您是否实现了forecastChanged?-(void)forecastChanged{NSLog(@“111”);self.cityName.text=currentForecast.cityName;self.Current湿度.text=[[NSNumber numberWithFloat:currentForecast.湿度]stringValue];self.minTemp.text=[[NSNumber numberWithFloat:currentForecast.minTemp]stringValue];self.maxTemp.text=[[NSNumber numberWithFloat:currentForecast.maxTemp]stringValue];self.currentTemp.text=[[NSNumber numberWithFloat:currentForecast.currentTemp]stringValue];}