当我在关闭模态后想更新 UILabels时,我遇到了问题。基本上我有:带有一些UILabels和UIButtons的ViewController。当我触摸按钮时,它会打开一个带有文本字段的模式,我在此文本字段中键入一些文本,该文本将保存到我所做的 CacheHandler 实例中。然后我用一个按钮关闭我的模态,我想看到我在 UILabel 中键入的文本。文本保存在缓存中,我已经检查过了。当我从自定义 segue 调用它时,我有一种方法可以更新我的标签,标签值为 null。我哪里做错了?
自定义续集:
#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
更新标签方法:
- (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];
}
初始化标签在哪里?是否与IBOutlet有联系?也许在未初始化时回电