gpt4 book ai didi

iphone - 遍历 iPhone 中的控件

转载 作者:行者123 更新时间:2023-11-28 20:18:27 25 4
gpt4 key购买 nike

我有 9 个 IBOutlets 用于 imageView,名为 imageView1,imageView2,....

我必须将数组的第一个对象分配给 imageView1,将第二个对象分配给 imageView2,.....

现在我的问题是 - 有什么方法可以遍历属性名称

例子-

 for(int i=0;i<[randomizedArray count];i++)
{
NSString *imageViewName=[NSString stringWithFormat:@"%@%i",@"imageView",i];
imageViewName.image=[appDelegate.splittedImageArray ObjectAtIndex:i];
}

这意味着它会自动分配值作为

imageView1.image=[appDelegate.splittedImageArray ObjectAtIndex:i];
imageView2.image=[appDelegate.splittedImageArray ObjectAtIndex:i];

最佳答案

在不更改 IBOutlets 的情况下,您最接近的可能是这样的:

NSArray *imageViews = @[imageView1,imageView2,imageView3, ...];
for(int i=0; i<[randomizedArray count]; i++) {
[[imageViews objectAtIndex:i] setImage:[appDelegate.splittedImageArray objectAtIndex:i]];
}

但是有更好的解决方案- IBOutletCollection

你可以这样定义一个属性:

@property (nonatomic, retain) IBOutletCollection(UIImageView) NSArray *imageViews;

然后像这样连接所有的 imageView:

enter image description here

然后您将拥有一个包含所有 UIImageView 的数组,您可以使用上面的代码而无需手动声明这样的数组...

关于iphone - 遍历 iPhone 中的控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16931930/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com