У меня возникла проблема, когда я хочу обновить UILabels после отклонения модальности. В основном у меня есть: ViewController с некоторыми UILabels и UIButtons Когда я касаюсь кнопки, он открывает модальное текстовое поле, я ввожу текст в это текстовое поле, которое сохраняется в экземпляре CacheHandler, который я сделал. Затем я отклоняю свой модальный ключ, и я хотел бы увидеть текст, который я напечатал в UILabel. Текст сохраняется в кеше, я проверил. У меня есть метод обновления моих меток, когда я вызываю его из пользовательского segue, значение метки равно null. Где я поступаю неправильно?Обновление UILabels при отключении модального вида
Пользовательские переход:
#import "DismissModalSegue.h"
#import "CreateSqeedViewController.h"
@implementation DismissModalSegue
- (void)perform {
UIViewController *sourceViewController = self.sourceViewController;
CreateSqeedViewController *destViewController = self.destinationViewController;
[sourceViewController.presentingViewController dismissViewControllerAnimated:YES completion:^{
[destViewController updateLabels];
}];
}
@end
метод updateLabels:
- (void)updateLabels {
NSLog(@"Updating labels: %@", [[[CacheHandler instance] createSqeed] place]);
/* displays what I want to display in my label */
NSLog(@"%@", whatLabel.text);
/* displays null */
whereLabel.text = [[[CacheHandler instance] createSqeed] place];
whatLabel.text = [[[CacheHandler instance] createSqeed] sqeedDescription];
NSString *peopleLabel = [NSString stringWithFormat:@"%@/%@", [[[CacheHandler instance] createSqeed] peopleMin], [[[CacheHandler instance] createSqeed] peopleMax]];
whoLabel.text = peopleLabel;
whereLabel.text = [[[[CacheHandler instance] createSqeed] dateStart] description];
}
Почему бы не использовать разматывать сеанс, который вызывает метод на VC? И нет необходимости в пользовательских segue. – Andy