2011-04-22 3 views
0

이 코드를 이보다 짧게 만들 수 있습니까?루프 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); 
    } 
} 
+0

아 내가 코드를 이동하는 것을 잊었다이 그 if.Thank 당신의 – crazyoxygen

관련 문제