Когда вы делаете это - [bgImages objectAtIndex:currentBackground]
- вы получаете экземпляр UIImage
.И когда вы делаете stringWithFormat
, вы правы в том, что он печатает адрес изображения и ничего более.
К сожалению, нет способа вернуть «имя» изображения из UIImage
экземпляр, так что вам, вероятно, придется сделать что-то вроде этого:
currentBackground=4;
bgImages = [[NSArray alloc] initWithObjects:
[UIImage imageNamed:@"mystery_01 320x460"],
[UIImage imageNamed:@"mystery_02 320x460"],
[UIImage imageNamed:@"mystery_03 320x460"],
[UIImage imageNamed:@"mystery_04 320x460"],
[UIImage imageNamed:@"mystery_05 320x460"],
nil];
bgImageNames = [[NSArray alloc] initWithObjects:
@"mystery_01 320x460",
@"mystery_02 320x460",
@"mystery_03 320x460",
@"mystery_04 320x460",
@"mystery_05 320x460",
nil];
, а затем сделать:
mainLabel.text = [NSString stringWithFormat:@"bgImages= %@",[bgImageNames objectAtIndex:currentBackground]];
Или немного обернуть создание массива bgImages
может даже быть умным и сделать это:
currentBackground=4;
bgImageNames = [[NSArray alloc] initWithObjects:
@"mystery_01 320x460",
@"mystery_02 320x460",
@"mystery_03 320x460",
@"mystery_04 320x460",
@"mystery_05 320x460",
nil];
NSMutableArray *newBgImages = [NSMutableArray arrayWithCapacity:0];
for (NSString *image in bgImageNames) {
[newBgImages addObject:[UIImage imageNamed:image]];
}
bgImages = [NSArray arrayWithArray:newBgImages];