I'm trying to change images in an app, but I want the iPhone to build the name of the object to change and then change it. Here's what I currently have but want to change...
.h file
PHP Code:
@interface implementation : NSObject <UIAlertViewDelegate>{
...
IBOutlet UIImageView *q0;
IBOutlet UIImageView *q1;
IBOutlet UIImageView *q2;
IBOutlet UIImageView *q3;
IBOutlet UIImageView *q4;
IBOutlet UIImageView *q5;
IBOutlet UIImageView *q6;
IBOutlet UIImageView *q7;
IBOutlet UIImageView *q8;
IBOutlet UIImageView *q9;
...
}
@property (nonatomic, retain) IBOutlet UIImageView *q0;
@property (nonatomic, retain) IBOutlet UIImageView *q1;
@property (nonatomic, retain) IBOutlet UIImageView *q2;
@property (nonatomic, retain) IBOutlet UIImageView *q3;
@property (nonatomic, retain) IBOutlet UIImageView *q4;
@property (nonatomic, retain) IBOutlet UIImageView *q5;
@property (nonatomic, retain) IBOutlet UIImageView *q6;
@property (nonatomic, retain) IBOutlet UIImageView *q7;
@property (nonatomic, retain) IBOutlet UIImageView *q8;
@property (nonatomic, retain) IBOutlet UIImageView *q9;
...
- (void) changeProgressionImages:(BOOL)correct;
...
@end
.m file
PHP Code:
static NSString *correctAnswerImage = @"fffl_correct.png";
static NSString *wrongAnswerImage = @"fffl_wrong.png";
static NSString *currentAnswerImage = @"fffl_current.png";
@implementation implementation
@synthesize q0;
@synthesize q1;
@synthesize q2;
@synthesize q3;
@synthesize q4;
@synthesize q5;
@synthesize q6;
@synthesize q7;
@synthesize q8;
@synthesize q9;
int currentQuestionNumber = 0;
...
-(void) changeProgressionImages:(BOOL) correct
{
NSString *imageLocation;
if( correct )
imageLocation = correctAnswerImage;
else
imageLocation = wrongAnswerImage;
if( currentQuestionNumber == 0 )
{
q0.image = [UIImage imageNamed: imageLocation];
q1.image = [UIImage imageNamed: currentAnswerImage];
}
else if( currentQuestionNumber == 1 )
{
q1.image = [UIImage imageNamed: imageLocation];
q2.image = [UIImage imageNamed: currentAnswerImage];
}
else if( currentQuestionNumber == 2 )
{
q2.image = [UIImage imageNamed: imageLocation];
q3.image = [UIImage imageNamed: currentAnswerImage];
}
else if( currentQuestionNumber == 3 )
{
q3.image = [UIImage imageNamed: imageLocation];
q4.image = [UIImage imageNamed: currentAnswerImage];
}
else if( currentQuestionNumber == 4 )
{
q4.image = [UIImage imageNamed: imageLocation];
q5.image = [UIImage imageNamed: currentAnswerImage];
}
else if( currentQuestionNumber == 5 )
{
q5.image = [UIImage imageNamed: imageLocation];
q6.image = [UIImage imageNamed: currentAnswerImage];
}
else if( currentQuestionNumber == 6 )
{
q6.image = [UIImage imageNamed: imageLocation];
q7.image = [UIImage imageNamed: currentAnswerImage];
}
else if( currentQuestionNumber == 7 )
{
q7.image = [UIImage imageNamed: imageLocation];
q8.image = [UIImage imageNamed: currentAnswerImage];
}
else if( currentQuestionNumber == 8 )
{
q8.image = [UIImage imageNamed: imageLocation];
q9.image = [UIImage imageNamed: currentAnswerImage];
}
else
{
q9.image = [UIImage imageNamed: imageLocation];
}
}
...
@end
Instead of having all that code in the changeProgressionImages method, I would like to something like this:
PHP Code:
//Incremented when question number changes
int currentQuestionNumber = 0;
...
-(void) changeProgressionImages:(BOOL) correct
{
NSString *imageLocation;
if( correct )
imageLocation = correctAnswerImage;
else
imageLocation = wrongAnswerImage;
NSString *gradedImageName = [NSString stringWithFormat: @"q%d", currentQuestionNumber];
NSString *currentImageName = [NSString stringWithFormat: @"q%d", currentQuestionNumber+1];
//I know this is a javascript like reference
getObjectByName( gradedImageName ).image = [UIImage imageNamed: imageLocation];
getObjectByName( currentImageName ).image = [UIImage imageNamed: currentAnswerImage];
}
I'm wondering if it this is possible.