У меня есть MenuViewController, который загружается при загрузке приложения; это корневой вид UINavigationController.
В представлении у меня есть UIButton с изображением, которое загружается с URL-адреса, а также метка (это изображение, указывающее погоду и текущую температуру).
Все работает нормально, но если я использую приложение на iPhone 4 с многозадачностью, когда нажимается кнопка «Домой», а затем приложение снова открывается, мне нужно изображение UIButton и temp. ярлык для перезагрузки.
Я попытался вызвать это в своем AppDelegate в applicationDidBecomeActive:
[self parseWeatherXML]; //re-parse weather data
[menuViewController reloadWeatherData]; //loads the image/label from the XML
без везения.
Я также попытался освободить menuViewController в applicationWillResign, а затем перераспределить menuViewController в applicationDidBecomeActive, чтобы метод viewDidLoad снова вызывался, оба способа просто привели к сбою моего приложения.
Любая помощь приветствуется!
РЕДАКТИРОВАТЬ Вот мой метод, который вызывается с уведомлением:
- (void)reloadWeather
{
[self parseWeatherXML];
UIImage *img = [UIImage imageWithData: [NSData dataWithContentsOfURL: [NSURL URLWithString:iconURL]]];
if (img != nil)
{
NSLog(@"setting image");
[weatherButton setImage:img forState:normal];
img = nil;
}
currentTemp = [currentTemp stringByAppendingString:@"°F"];
[tempLabel setText:currentTemp];
tempLabel.adjustsFontSizeToFitWidth = YES;
if([self isIPad])
{
tempLabel.textAlignment = UITextAlignmentRight;
[tempLabel setFont: [UIFont systemFontOfSize: 45.0]];
}
currentTemp = nil;
}