2011-10-31 48 views
0

聲明全局的UIImageViews的陣列我在Buttonclicked方法創建ImageViews的數組:在Xcode

UIImageView *arrayOfImageViews[10] 

我成功加載他們使用一個循環在屏幕上。 (這個初學者的大成就!)

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

我該在哪裏聲明arrayOfImageViews既是數組又是UIImageView的類,以便我可以在其他方法中使用它們?從我能找到的,我要在.h及以上的實施.m宣佈他們。但是我不能找出代碼和位置來將對象定義爲除了原始函數之外的其他任何內容的UIImageView數組。

回答

0

嘗試使用屬性。所以在.h文件,你要定義的屬性是這樣的:在實現(.m文件)


@interface MyClass: UIView { 
    NSArray *arrayOfImageViews; 
} 

@property (nonatomic,retain) NSArray *arrayOfImageViews; 

現在你需要這個屬性這樣

@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

+0

謝謝西蒙的回答。當我嘗試初始化圖像時,我使用了tmpImages [1] = [[[UIImageView Alloc] initWithImage:[UIImage imageNamed:@「Blue.png」]] autorelease];並設置tmpImages.frame ...但這些錯誤的不兼容類型和NSMutableArray沒有成員命名框架。如果我首先執行UIImageView * tmpImages [10],則此初始化工作正常,但這又使我回到本地定義imageViews數組的問題。 (注意:不是圖像名稱數組)。我知道我錯過了一些關於正確定義事情的東西。 –