2015-01-11 2 views
0

У меня возникла проблема, когда я хочу обновить 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]; 
} 
+0

Почему бы не использовать разматывать сеанс, который вызывает метод на VC? И нет необходимости в пользовательских segue. – Andy

ответ

0

где инициализируются ярлык? Связаны ли с IBOutlet? , возможно, перезвоните их, если они не инициализированы.

+0

Это свойства IBOutlet в .h и синтезированы в .m. Я проверил метод viewDidLoad, и они отлично инициализированы, они имеют значение по умолчанию. – stowka

+0

метод updateLabels называется правильно? Вы можете попробовать использовать NSNotificationCenter для отправки уведомления для вызова метода. – weso

+0

Посмотрите здесь [ссылка] http://stackoverflow.com/questions/27874673/how-to-send-string-value-from-secondview-to-mainview-with-use-popover-segue [/ link] – weso

Смежные вопросы