2010-08-01 6 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 파일에서 index = 0을 어떻게 선언합니까? iPhone

+4

질문에 아무것도 표시되지 않습니까? –

+0

다른 종류의 심볼로 다시 선언 된 오류 색인이 나타납니다. – Will

답변

2

index-next 방법에서만 사용되는 경우 정적 변수를 정의 할 수 있습니다.

- (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

+0

이제 다음을 클릭하면 이미지가 표시되지 않습니까? – Will

+0

@Will :'img % i' 대신에'img % 02d'가 필요합니다. – kennytm

관련 문제