2010-08-01 32 views
1
// Declare index in Header.h 

index=0; 

- (IBAction)next { 
    index++; 
    // Set imageCount to as many images as are available 
    int imageCount=2; 
    if (index<=imageCount) { 
     NSString* imageName=[NSString stringWithFormat:@"img%i", index]; 
     [picture setImage: [UIImage imageNamed: imageName]]; 
    } 
} 

我該在哪裏聲明我的頭文件中的索引以及如何?如何在.h文件中聲明索引= 0 iPhone

+4

問題沒有說什麼? – 2010-08-01 11:31:16

+0

我得到一個重新聲明爲不同類型符號的錯誤索引。 – Will 2010-08-01 11:33:49

回答

2

如果僅在-next方法中使用index,則可以定義一個靜態變量。

- (IBAction)next { 
    static int index = 0; // <-- here 
    index++; 
    // Set imageCount to as many images as are available 
    int imageCount=2; 
    if (index<=imageCount) { 
     NSString* imageName=[NSString stringWithFormat:@"img%i", index]; 
     [picture setImage: [UIImage imageNamed: imageName]]; 
    } 
} 

請注意,所有實例將共享相同的index

但我認爲最好將index作爲ivar,

@interface ... { 
    ... 
    int index; 
    ... 
} 

實例被構造時它會自動初始化爲0,並且比next其他方法可以使用index。另外,每個實例都有自己的index

+0

好吧,我現在唯一的問題是,我所有的圖像(16)被稱爲img01 img02等,但我的圖像都沒有顯示,除了第一個這是如何工作? – Will 2010-08-01 11:39:30

+0

現在好了,當我點擊下一步沒有圖像顯示? – Will 2010-08-01 11:44:12

+0

@Will:您需要'img%02d'而不是'img%i'。 – kennytm 2010-08-01 11:50:48

相關問題