#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);
}
}