代码之家  ›  专栏  ›  技术社区  ›  GuybrushThreepwood

在for循环中增加UIImageView变量的数字部分?

  •  0
  • GuybrushThreepwood  · 技术社区  · 14 年前

    我有一个名为myPicture1、myPicture2和myPicture3的UIImageView变量。在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 **
    
    }
    

    这可能吗?

    谢谢大家,

    马丁

    1 回复  |  直到 14 年前
        1
  •  1
  •   Georg Fritzsche    14 年前

    好吧,我觉得你在用一种尴尬的方式处理这个问题。
    也许最好的办法就是 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];