我有一个有两个屏幕的应用程序。在第一个屏幕中有一个按钮,可以通过模态 segue 作为模态视图打开第二个屏幕,并且它有一个 UILabel。
我希望这个 UILabel 有一个特定的文本,该文本会根据用户单击按钮的次数而有所不同(它们是提示:用户只能单击按钮并看到提示三次)。每次单击按钮时,我正在做的是以下方法:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"TipModal"]) {
QuizTipViewController * detailViewController = (QuizTipViewController *) segue.destinationViewController;
detailViewController.delegate = self;
detailViewController.tipText = self.quiz.currentTip;
[detailViewController.numberTipsText setText:[NSString stringWithFormat:@"Pistas para la respuesta (usadas %ld de 3)", (long)self.quiz.tipCount]] ;
NSLog(@"%d", self.quiz.tipCount);
NSLog(@"%@", detailViewController.numberTipsText.text);
}
}
最后两个日志具有以下输出:
2013-05-14 19:10:47.987 QuoteQuiz[1241:c07] 0
2013-05-14 19:10:47.989 QuoteQuiz[1241:c07] Hints (0 out of 3 used)
然而,UILabel 中的文本总是空的。
在模态窗口的视图控制器的 .h 文件中,我将 UILabel 定义为:
@property (strong, nonatomic) IBOutlet UILabel* numberTipsText;
我什至在实现文件中创建了:
-(UILabel *)numberTipsText {
if (!_numberTipsText) {
_numberTipsText = [[UILabel alloc] init];
}
return _numberTipsText;
}
知道为什么会发生这种情况吗?
提前非常感谢!