Ios 如何使用IBMoutletCollection将多个UIImageView连接到同一个插座?

Ios 如何使用IBMoutletCollection将多个UIImageView连接到同一个插座?,ios,objective-c,xcode,uiimageview,iboutletcollection,Ios,Objective C,Xcode,Uiimageview,Iboutletcollection,我有10个UIImageView,它们做同样的事情(它们有一些无效的方法,可以使用计时器更改它们的图像)。 我的UIImageView是一个插座,我想将所有10个ImageView连接到同一个插座,但interface builder不允许我这样做 我发现有一个解决方案,IBOutletCollection。有人能告诉我如何使用它将多个imageView连接到同一个插座吗?声明一个属性来保存imageView,然后像正常情况一样在interface builder中连接它们 @property

我有10个UIImageView,它们做同样的事情(它们有一些无效的方法,可以使用计时器更改它们的图像)。 我的UIImageView是一个插座,我想将所有10个ImageView连接到同一个插座,但interface builder不允许我这样做


我发现有一个解决方案,IBOutletCollection。有人能告诉我如何使用它将多个imageView连接到同一个插座吗?

声明一个属性来保存imageView,然后像正常情况一样在interface builder中连接它们

@property (nonatomic, strong) IBOutletCollection(UIImageView) NSArray *imageViews;
这只是一个普通的
NSArray
,但当nib加载时,它将填充您的imageView


更新

在打开多个imageView的视图控制器的头文件中,您需要添加上面的属性-它可能看起来像这样:

@interface MyViewController : UIViewController

@property (nonatomic, strong) IBOutletCollection(UIImageView) NSArray *imageViews;
// other properties

@end
现在,在界面生成器中,将所有imageView连接到此属性

现在我只使用
imageViews
集合

for (UIImageView *imageView in self.imageViews) {
  imageView.image = someImage;
}

但是我的代码中只有一个imageView,这就是我想要的。我想在代码中将此图像与序列图像板视图中的多个ImageView连接。您需要创建一个数组来保存对所有这些ImageView的引用。实现这一点的方法是使用
IBOutletCollection
,如上所示,但是如果只有1个图像,我需要填充哪些图像?我真的不知道你的意思是什么?@AndrewCr是的,应该是这样。我们正在声明一个
NSArray
,唯一感兴趣的对象是out viewController。您可以对视图使用
,因为它们将被其父视图保留。