代码:
//pick one filename
int numFileNames = [imageArray count];
int chosen = arc4random() % numFileNames;
NSString *oneFilename = [imageArray objectAtIndex: chosen];
谢谢!
答案 0 :(得分:0)
你的NSMutableArray中有一个错误:
您需要先将其初始化。
NSMutableArray *imageArray = [[NSMutableArray alloc] init];
)
并且这是一个建议,如果您不一定需要界面构建器的帮助,您可能需要考虑cocos2d。您想要做的事情可以很容易地完成。
- 至于步骤3.使用Rand()进行随机选择,做一个循环来检查所选图像是否已经添加到数组中(此数组用于拾取图像),如果它在数组中再次随机化,如果没有则添加进入拾取的数组,并执行ball1.image = [UIImage imageNamed:[imageArray objectatindex:randomNum]];
答案 1 :(得分:0)
问题没有指明手头的问题,它只是提到开发人员想要在数组中存储唯一的图像名称,因此可以进行编码:
NSMutableArray * arrImages = [NSMutableArray new];
for (int i=0; i<2; i++) {
NSString *imgName = [NSString stringWithFormat:@"imageBall%d",i];
//Here we can check whether image is already added or not.
if (![arrImages contains Object:imgName]) {
[arrImages addObject:imgName];
}
}
int choosen = arc4random() % (int)arrImages.count;
NSString *imageFileName = arrImages[choosen];