我正在为iPhone制作基于视图的测验应用,其中播放器在回答问题时在三个不同视图之间随机进行。他们在回答正确时得+1,而在回答错误答案时得-1。但在回答问题后,当你转到新的随机视图时,我需要UILabel显示上一个视图的分数。我该怎么做?
这是我的代码:
ViewController.h
@interface ViewController : UIViewController {
IBOutlet UILabel *labelQuestion;
IBOutlet UILabel *labelAnswer1;
IBOutlet UILabel *labelAnswer2;
IBOutlet UILabel *labelAnswer3;
IBOutlet UILabel *labelScore;
int score;
}
@property (nonatomic, retain) IBOutlet UILabel *labelScore;
@property (nonatomic) int score;
ViewController.m
@synthesize labelScore;
@synthesize score;
-(IBAction)CorrectAnswer; {
score = score +1;
labelScore.text = [NSString stringWithFormat:@"%i", score];
}
-(IBAction)WrongAnswer; {
score = score -1;
labelScore.text = [NSString stringWithFormat:@"%i", score];
}
答案 0 :(得分:1)
将变量得分设为全局,即在AppDelegate
中定义,然后您可以在整个应用程序中访问它。
答案 1 :(得分:1)
最快但很脏的方法是将它存储在app delegate中......如果你希望它在应用程序启动之间保持,请将其存储在用户默认值中。 但正如我所说,这很脏......
答案 2 :(得分:1)
由于它们是属性,因此当您创建下一个视图时,您可以将标签的文本设置为当前视图的文本,将分数设置为当前视图。