Advertise Mobile SDKs Books Events Forum News Social Networking Support Us
Follow @iphonedevsdk on Twitter

Mockup & CodeGen, iPhone & iPad
($9.99)

Make your own iPhone apps
and run them live!
(free)

Manu
($0.99)

Want your application or service advertised on iPhone Dev SDK?

Go Back   iPhone Dev SDK Forum

View Single Post
Old 11-19-2009, 10:23 AM   #1 (permalink)
icelandic
Registered Member
 
Join Date: Jul 2009
Posts: 21
Default Get Object by name

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 (nonatomicretainIBOutlet UIImageView *q0;
@
property (nonatomicretainIBOutlet UIImageView *q1;
@
property (nonatomicretainIBOutlet UIImageView *q2;
@
property (nonatomicretainIBOutlet UIImageView *q3;
@
property (nonatomicretainIBOutlet UIImageView *q4;
@
property (nonatomicretainIBOutlet UIImageView *q5;
@
property (nonatomicretainIBOutlet UIImageView *q6;
@
property (nonatomicretainIBOutlet UIImageView *q7;
@
property (nonatomicretainIBOutlet UIImageView *q8;
@
property (nonatomicretainIBOutlet UIImageView *q9;

...
- (
voidchangeProgressionImages:(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;
...

-(
voidchangeProgressionImages:(BOOL) correct    
{    
    
NSString *imageLocation;
    
    if( 
correct )
        
imageLocation correctAnswerImage;
    else
        
imageLocation wrongAnswerImage;

    if( 
currentQuestionNumber == )
    {
        
q0.image = [UIImage imageNamedimageLocation];
        
q1.image = [UIImage imageNamedcurrentAnswerImage]; 
    }
    else if( 
currentQuestionNumber == )
    {
        
q1.image = [UIImage imageNamedimageLocation];
        
q2.image = [UIImage imageNamedcurrentAnswerImage];
    }
    else if( 
currentQuestionNumber == )
    {
        
q2.image = [UIImage imageNamedimageLocation];
        
q3.image = [UIImage imageNamedcurrentAnswerImage];
    }
    else if( 
currentQuestionNumber == )
    {
        
q3.image = [UIImage imageNamedimageLocation];
        
q4.image = [UIImage imageNamedcurrentAnswerImage];
    }
    else if( 
currentQuestionNumber == )
    {
        
q4.image = [UIImage imageNamedimageLocation];
        
q5.image = [UIImage imageNamedcurrentAnswerImage];
    }
    else if( 
currentQuestionNumber == )
    {
        
q5.image = [UIImage imageNamedimageLocation];
        
q6.image = [UIImage imageNamedcurrentAnswerImage];
    }
    else if( 
currentQuestionNumber == )
    {
        
q6.image = [UIImage imageNamedimageLocation];
        
q7.image = [UIImage imageNamedcurrentAnswerImage];
    }
    else if( 
currentQuestionNumber == )
    {
        
q7.image = [UIImage imageNamedimageLocation];
        
q8.image = [UIImage imageNamedcurrentAnswerImage];
    }
    else if( 
currentQuestionNumber == )
    {
        
q8.image = [UIImage imageNamedimageLocation];
        
q9.image = [UIImage imageNamedcurrentAnswerImage];
    }
    else
    {
        
q9.image = [UIImage imageNamedimageLocation];
    }
}
...
@
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;

...

-(
voidchangeProgressionImages:(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
    
getObjectByNamegradedImageName ).image = [UIImage imageNamedimageLocation];

    
getObjectByNamecurrentImageName ).image = [UIImage imageNamedcurrentAnswerImage];


I'm wondering if it this is possible.
icelandic is offline   Reply With Quote
 

» Advertisements
» Online Users: 344
16 members and 328 guests
ADY, apatsufas, chemistry, Duncan C, Fit4him, headkaze, ilmman, MarkC, marto1914, Meoz, padsoftware, Promo Dispenser, Raffaello, tathaastu, tgjorgoski, Thrillhouse1919
Most users ever online was 1,187, 10-11-2011 at 08:09 AM.
» Stats
Members: 158,877
Threads: 89,222
Posts: 380,718
Top Poster: BrianSlick (7,129)
Welcome to our newest member, peterkessler45
Powered by vBadvanced CMPS v3.1.0

All times are GMT -5. The time now is 09:54 AM.
Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.