objective-c Novice - Needs help with global variables and setter method
- by user544006
I am creating a quiz app which has 2 views, MMAppViewController and a subview Level1View. I have declared NSInteger property "theScore" in the MMAppViewController view and have synthesised it. In my Level1View when they answer a correct question the "theScore" int will increase by one. The score has to be a global variable because when you reach so many points it will unlock the next level.
For some reason in my switch statement it only lets me use the setTheScore method once. I am getting errors for every other set method in the switch statement. Error: "Duplicate label setTheScore". The statement is in the pushButtonAnswer method:
setTheScore: theScore++;
Here is my code:
#import "Level1View.h"
#import "MMAppViewController.h"
@implementation Level1View
@synthesize answer;
@synthesize question;
@synthesize userAnswer;
@synthesize theScore;
@synthesize score;
int questionNum=0;
NSInteger score=0;
NSInteger theScore;
BOOL start=FALSE;
BOOL optionNum=FALSE;
-(IBAction)pushBack{
[self dismissModalViewControllerAnimated:YES];
}
-(IBAction)pushButton1{
optionNum=TRUE;
labelAnswer.textColor=[UIColor blackColor];
userAnswer=@"1";
[labelAnswer setText:(@"You chose 'A'")];
}
-(IBAction)pushButton2{
optionNum=TRUE;
labelAnswer.textColor=[UIColor blackColor];
userAnswer=@"2";
[labelAnswer setText:(@"You chose 'B'")];
}
-(IBAction)pushButton3{
optionNum=TRUE;
labelAnswer.textColor=[UIColor blackColor];
userAnswer=@"3";
[labelAnswer setText:(@"You chose 'C'")];
}
-(IBAction)pushButtonAnswer{
labelAnswer.textColor=[UIColor blackColor];
switch (questionNum){
case 1:
if(answer==userAnswer && optionNum==TRUE){
labelAnswer.textColor=[UIColor greenColor];
[labelAnswer setText:(@"correct")];
[self hideButtons];
score++;
[self setTheScore: theScore++];
}
else if(optionNum==FALSE){
[labelAnswer setText:(@"Please choose an answer below:")];}
else{
labelAnswer.textColor=[UIColor redColor];
[labelAnswer setText:(@"wrong")];}
[self hideButtons];
break;
case 2:
if(answer==userAnswer && optionNum==TRUE){
labelAnswer.textColor=[UIColor greenColor];
[labelAnswer setText:(@"correct")];
[self hideButtons];
score++;
[self setTheScore: theScore++];
}
else if(optionNum==FALSE){
[labelAnswer setText:(@"Please choose an answer below:")];}
else{
labelAnswer.textColor=[UIColor redColor];
[labelAnswer setText:(@"wrong")];
[self hideButtons];}
break;
case 3:
if(answer==userAnswer && optionNum==TRUE){
labelAnswer.textColor=[UIColor greenColor];
....
And
#import "MMAppViewController.h"
#import "Level1View.h"
@implementation MMAppViewController
@synthesize theScore;
NSInteger score;
-(IBAction)pushLevel1{
Level1View *level1View = [[Level1View alloc] initWithNibName:nil bundle:nil];
[self presentModalViewController:level1View animated:YES];
theScore++;
}
-(IBAction)pushLevel2{
//Level1View *level1View = [[Level1View alloc] initWithNibName:nil bundle:nil];
//[self presentModalViewController:level1View animated:YES];
NSInteger *temp = Level1View.score;
//int theScore=2;
[labelChoose setText:[NSString stringWithFormat:@"You scored %i", theScore]];
}
Does anyone know why i am getting these errors and if I am coding this correctly?