alertView dismissModalViewControllerAnimated - PullRequest
0 голосов
/ 14 января 2012

У меня есть основной вид со ссылками на разные viewcontrollers. У одного из моих представлений есть несколько полей формы, и когда они успешно обновляются, он вызывает UIAlertView, чтобы уведомить пользователя. Когда пользователь отклоняет его, вызывается alertView:clickedButtonAtIndex:, и я dismissModalViewControllerAnimated: возвращаюсь к моему основному виду.

Проблема, с которой я сталкиваюсь, заключается в том, что когда я делаю это, она не вызывает метод viewDidLoad. У меня есть переменные, которые нужно обновить, может кто-нибудь сказать мне, что называется. Я не могу найти ничего, чтобы я мог сделать обновления.

Ответы [ 2 ]

1 голос
/ 14 января 2012

viewWillAppear и viewDidAppear будут вызваны, когда контроллер представления станет видимым. Вы можете проверить, обновлены ли ваши данные в этих функциях, и соответствующим образом обновить свое представление.

0 голосов
/ 14 января 2012

Простой и гибкий способ справиться с этой ситуацией - предоставить метод из вашего контроллера для его сброса.Таким образом, в любом непредвиденном сценарии вы всегда можете вызвать этот метод и знать, что ваши значения устанавливаются:

@interface MyController
- (void)reset;
@end

@implementation MyController
- (void)reset{
    //set some defaults
}
- (void)viewDidLoad{
   [self reset];
}
- (void)viewWillAppear{ //<--If you want to reset your values every time the view is about to appear
   [self reset];
}
- (void)viewDidDisappear{ //<--If you want to reset your values every time the view is either dismissed, covered, or hidden
   [self reset];
}
@end

Затем в вашем alertView:clickedButtonAtIndex:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{

    if (buttonIndex==0) { //whatever your situation is
         //dismissModalViewControllerAnimated:
         [self.myController reset];
    }
}

Некоторое дополнительное чтение: UIViewController .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...