Как я объявляю index=0 в.h файле iPhone

// 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
задан Felix Kling 1 August 2010 в 11:33
поделиться

1 ответ

Если индекс используется только внутри -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 как ivar, например

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

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

2
ответ дан 2 September 2019 в 22:32
поделиться