我有一些代码,它随机显示给定的.png图像及其标题。标题逻辑工作正常。但是,由于某种原因,只显示四个图像中的两个。为了防万一,我试过改变顺序,但只有那两张图片pic_c和pic_d才会显示出来。我还检查了拼写,并且这些文件在资源中并存在于文件系统中。下面是显示图像的代码:只有一些PNG图像显示,其他人没有明显的理由
NSMutableArray *fileNameArray = [[NSMutableArray alloc] init];
[fileNameArray addObject:[NSString stringWithFormat: @"pic_a"]];
[fileNameArray addObject:[NSString stringWithFormat: @"pic_b"]];
[fileNameArray addObject:[NSString stringWithFormat: @"pic_c"]];
[fileNameArray addObject:[NSString stringWithFormat: @"pic_d"]];
NSMutableArray *titleArray = [[NSMutableArray alloc] init];
[titleArray addObject:[NSString stringWithFormat: @"pic a"]];
[titleArray addObject:[NSString stringWithFormat: @"pic b"]];
[titleArray addObject:[NSString stringWithFormat: @"pic c"]];
[titleArray addObject:[NSString stringWithFormat: @"pic d"]];
int index = arc4random() % [fileNameArray count];
NSString *pictureName = [titleArray objectAtIndex:index];
art_title.text = pictureName;
NSString* imagePath = [ [ NSBundle mainBundle] pathForResource:pictureName ofType:@"png"];
UIImage *img = [ UIImage imageWithContentsOfFile: imagePath];
if (img != nil) { // Image was loaded successfully.
[imageView setImage:img];
[imageView setUserInteractionEnabled:NO];
[img release]; // Release the image now that we have a UIImageView that contains it.
}
[super viewDidLoad];
[fileNameArray release];
[titleArray release];
}
任何想法为什么会发生这种情况?
最近信息:如果我删除titleArray,并仅使用文件名数组,则会显示所有图像。不过,我仍然希望能够使用titleArray。
尝试更改文件名,以便它们不包含_,只是猜测。 –