2013-02-03 27 views
-2

我可以通过名称循环变量吗?通过名称目标循环变量C

IBOutlet UIImageView *img1; 
IBOutlet UIImageView *img2; 
IBOutlet UIImageView *img3; 
IBOutlet UIImageView *img4; 
IBOutlet UIImageView *img5; 
IBOutlet UIImageView *img6; 
IBOutlet UIImageView *img7; 
IBOutlet UIImageView *img8; 

//then 
for(int i = 1; i<=8;i++){ 
    img+i = nil; 
} 

我知道如何通过标记循环,但它是否可以像这样做在目标C?

回答

3

不是直接的,但你可以将它们添加到一个临时数组或使用IBOutletCollection

+0

我看,谢谢你的答案。 – Aziz

1

只是备案,你可以这样做(但不这样做,可以使用以前的答案)

for(int i = 1; i<=8;i++){ 
    SEL sel = NSSelectorFromString([NSString stringWithFormat:@"setImg%d:", i]); 
    [self performSelector:sel withObject:nil]; 
} 
+0

有趣!感谢Ultrakorne,我最终使用:IBOutletCollection(UIImageView)NSArray * imgs;这是我发现的或通过Img标签循环的最好的东西。 – Aziz