我做这样的通知:我在mainView中有代码:
- (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.
}
它不起作用。我做错了什么?
答案 0 :(得分:0)
如果你想在weatherViewController
中调用通知,那么你需要定义这个类的viewDidLoad方法。
确保您正在调用此viewController的viewDidLoad。