Увеличение числовой части переменной UIImageView в цикле for? - PullRequest
0 голосов
/ 10 сентября 2010

У меня есть три переменные UIImageView, которые называются myPicture1, myPicture2 и myPicture3. В цикле for я пытаюсь увеличить число в конце myPicture на 1, чтобы я мог назначить случайное изображение для каждой из трех переменных. Вот код ниже:

for (i=0; i<3; i++) {

int g = arc4random() % 19;

NSString *imagename = [NSString stringWithFormat:@"image%d.jpg",g];

UIImage *picture = [UIImage imageNamed:imagename];

 UIImageView imageView = [[UIImageView alloc] initWithImage : picture];

 self.myPicture1 = imageView; **This is where I want myPicture to increase to myPicture 2 and then 3 **

}

Возможно ли это?

Спасибо всем,

Martin

1 Ответ

1 голос
/ 10 сентября 2010

ну, я думаю, что вы подходите к этому как-то неловко.
, вероятно, лучший способ сделать это - сохранить ваши UIImageView в NSArray.Таким образом, в вашем объявлении класса вместо

@property (nonatomic, retain) UIImageView *myPicture1;
@property (nonatomic, retain) UIImageView *myPicture2;
@property (nonatomic, retain) UIImageView *myPicture3;

у вас будет

@property (nonatomic, retain) NSArray *myPictures;

И затем вы создадите их следующим образом:

NSMutableArray *myTempArray = [NSMutableArray arrayWithCapacity:3];
for (i=0; i<3; i++)
{
    int g = arc4random() % 19;

    NSString *imagename = [NSString stringWithFormat:@"image%d.jpg",g];
    UIImage *picture = [UIImage imageNamed:imagename];

    UIImageView imageView = [[UIImageView alloc] initWithImage : picture];
    [myTempArray addObject: imageView];
    [imageView release];
}
self.myPictures = [NSArray arrayWithArray: myTempArray];
...