Могу ли я перекодировать цикл UIImageView, чтобы получить более короткий код?

#iphone #ios #ios4 #loops #uiimageview

#iPhone #iOS #ios4 #циклы #uiimageview

Вопрос:

Могу ли я сделать этот код короче этого?

 - (void) setupFeature
{   NSArray *numbers = [NSArray arrayWithObjects: @"01", @"02", @"03",@"04",@"05",@"06", nil];
    position = CGRectMake(7, position.origin.y 20, 72, 72);

    int j=0;
    NSString *pic;
    UIImageView *a_pic;
    NSMutableArray *C_Pic = [[[NSMutableArray alloc] init] autorelease];
    for (int i=0; i<[numbers count]; i  ) 
    { 
        UIImageView *picture = [[UIImageView alloc] init];
        [C_Pic addObject:picture];
        [picture release];
        a_pic = [C_Pic objectAtIndex:i];
        pic = [NSString stringWithFormat:@"iconD%@",[numbers objectAtIndex:i]];
        a_pic.image = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:pic ofType:@"png"]];
        if(j<4)
        {   
            a_pic.frame = position;
            [scrollView addSubview:a_pic];
            position = CGRectMake(position.origin.x 77, position.origin.y, 72, 72);
            j  ;
        }
        else
        {   
            j=0;
            position = CGRectMake(7, position.origin.y 77, 72, 72);
            NSLog(@"Pic%i position %@",i, NSStringFromCGRect(self.position));
            a_pic.frame = position;
            [scrollView addSubview:a_pic];
            position = CGRectMake(position.origin.x 77, position.origin.y, 72, 72);
        }
    }
}
  

Если это может быть короче?? пожалуйста, помогите мне, как это сделать?

Ответ №1:

Да, это может быть короче, смотрите это

 - (void) setupFeature
{   
NSArray *numbers = [NSArray arrayWithObjects: @"01", @"02", @"03",@"04",@"05",@"06", nil];
    position = CGRectMake(7, position.origin.y 20, 72, 72);

    int j=0;
    NSString *pic;
    UIImageView *a_pic;
    NSMutableArray *C_Pic = [[[NSMutableArray alloc] init] autorelease];
    for (int i=0; i<[numbers count]; i  ) 
    { 
        UIImageView *picture = [[UIImageView alloc] init];
        [C_Pic addObject:picture];
        [picture release];
        a_pic = [C_Pic objectAtIndex:i];
        pic = [NSString stringWithFormat:@"iconD%@",[numbers objectAtIndex:i]];
        a_pic.image = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle]      pathForResource:pic ofType:@"png"]];
        if(j<4)
        {   

            j  ;
        }
        else
        {   
            j=0;
            position = CGRectMake(7, position.origin.y 77, 72, 72);
            NSLog(@"Pic%i position %@",i, NSStringFromCGRect(self.position));

        }
    //No need to repeat this code
             a_pic.frame = position;
            [scrollView addSubview:a_pic];
            position = CGRectMake(position.origin.x 77, position.origin.y, 72, 72);
    }
}