在Xcode中全局声明一组UIImageViews

时间:2011-10-31 18:40:29

标签: arrays xcode uiimageview

我用Buttonclicked方法创建了一个ImageViews数组:

UIImageView *arrayOfImageViews[10]

我使用循环将它们成功加载到屏幕上。 (这个初学者的大成就!)

但我想在其他方法中引用它们(例如touchMove)。

我在哪里声明arrayOfImageViews同时是一个数组和一个UIImageView类,以便我可以在其他方法中使用它们?根据我的发现,我要在.h中的.m及以上的实施中声明它们。但我无法弄清楚将对象定义为除了原始函数之外的任何东西的UIImageViews数组的代码和位置。

1 个答案:

答案 0 :(得分:0)

尝试使用属性。因此,在.h文件中,您希望定义如下属性:


@interface MyClass: UIView {
    NSArray *arrayOfImageViews;
} 

@property (nonatomic,retain) NSArray *arrayOfImageViews;

现在在实现(.m文件)中你需要像这样绑定这个属性

@implementation MyClass 

@synthesize arrayOfImageViews;

//now you need to initialize the array of images like this (look for the method viewDidLoad or //just add it)

- (void)viewDidLoad
{
    NSMutableArray *tmpImages = [[NSMutableArray alloc]init];
    //initialize images here
    [self setArrayOfImageViews:tmpImages];
    [tmpImages release];
    [super viewDidLoad];

}

应该这样做...抱歉,我没有时间发布实际编译的代码,但它应该有所帮助。基本上现在你在课堂上有一个属性,你可以像self.arrayOfImages一样访问它,甚至可以只访问arrayOfImages(来自MyClass内)。另外,我使用NSArray,我建议你也这样做。但是,如果您愿意,也可以使用UIImageView* arrayOfImages