Как мне объявить индекс = 0 в .h файле iPhone - PullRequest
1 голос
/ 01 августа 2010
// 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]];
    }
}

Где мне объявить индекс в моем заголовочном файле и как?

1 Ответ

2 голосов
/ 01 августа 2010

Если 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 в качестве ивара, например,

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

, он автоматически инициализируется равным 0 при создании экземпляра, и методы, отличные от next, могут использовать index,Также каждый экземпляр будет иметь свой собственный index.

...