новый парень с iOS здесь.У меня есть проблема, что поиск в Google и поиск здесь не пролили никакого света.Я предполагаю, что это основное.У меня есть простое приложение (делегат приложения и 1 контроллер представления), и как часть этого я использую локальное уведомление.Итак, в делегате приложения я использую didReceiveLocalNotification для отслеживания уведомлений.В зависимости от того, какой из них входит, я затем вызываю один из нескольких методов экземпляра в моем главном контроллере представления.
, т. Е. В AppDelegate.m
- (void)application:(UIApplication *)application didReceiveLocalNotification: (UILocalNotification *)notification {
MyViewController* controller = [[MyViewController alloc] autorelease];
if ([[notification.userInfo objectForKey:@"id"] isEqualToString:@"myKey"]) {
[controller checkActive];
}
}
Через ведение журнала и просмотр некоторых точек останова,все работает.Если приложение работает в фоновом режиме, приходит уведомление, приложение открывается и вызывается правильный метод экземпляра.
Что я не могу понять, так это почему некоторые части метода экземпляра просто передаютсябез эффекта.Для простого примера, если у нас есть это:
-(void)checkActive {
ViewThing.alpha = 1.0;
NSLog(@"checkActive ran");
}
Оператор log будет отображаться нормально, но ViewThing не изменится.В другом месте контроллера основного представления я вызываю тот же метод checkActive без проблем, и он меняет ViewThing.(через другую интерфейсную кнопку метод IBAction в этом случае).
Нет ошибок, нет предупреждений, консоль ничего не показывает, установка точки останова на ViewThing показывает, что она попадает в строку.Я в замешательстве, не могу понять, чем отличается попытка вызова метода от делегата от IBAction.
Спасибо за любые советы!