0

我做这样的通知:我在 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];

在天气视图控制器中

 - (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.
   }

这没用。我做错了什么?

4

1 回答 1

0

如果要调用通知,weatherViewController则需要定义此类的 viewDidLoad 方法。

确保您正在调用此 viewController 的 viewDidLoad。

于 2013-02-15T13:48:58.110 回答