i'd not use static vars but a static dictionary like this:
runnable example:
#import <Foundation/Foundation.h>
NSDictionary *DDImageName(NSString *varName);
NSDictionary *DDImageName(NSString *varName) {
static NSDictionary *dict = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
//TODO
//add all names and the image names here
dict = @{@"icon_0": @"image_0.png",
@"icon_1": @"some_image_with_a_different_name.png",
@"icon_2": @"picure_of_a_bear.png"};
});
return dict[varName];
}
//demo only
int main(int argc, char *argv[]) {
@autoreleasepool {
NSString *varName = @"icon_0";
NSString *imgName = DDImageName(varName);
NSLog(@"imageName for %@ = %@", varName, imgName);
}
}