我正在为iPhone编写应用程序。我对循环还不是很好。如何将此代码缩短为for循环?
if(CGRectContainsRect([space1 frame], [box frame])){
space1.image = [UIImage imageNamed:@"box.png"];
}
else if(CGRectContainsRect([space2 frame], [box frame])){
space2.image = [UIImage imageNamed:@"box.png"];
}
else if(CGRectContainsRect([space3 frame], [box frame])){
space3.image = [UIImage imageNamed:@"box.png"];
}
else if(CGRectContainsRect([space4 frame], [box frame])){
space4.image = [UIImage imageNamed:@"box.png"];
}
else if(CGRectContainsRect([space5 frame], [box frame])){
space5.image = [UIImage imageNamed:@"box.png"];
}
答案 0 :(得分:6)
NSArray * spaces = [NSArray arrayWithObjects:space1, space2, space3, space4, space5, nil];
for (Space * space in spaces) {
if (CGRectContainsRect([space frame], [box frame])) {
space.image = [UIImage imageNamed:@"box.png"];
}
}