Будьте осторожны со статическими переменными в методах Objective-C, как это предлагает smparkes.Они распределяются между всеми экземплярами этого класса, поэтому, если у вас есть несколько экземпляров любого объекта, из которого этот код, его ответ не будет действовать так, как вы ожидаете.Вам лучше использовать переменную экземпляра, потому что каждый экземпляр будет иметь свою собственную переменную, не затрагивая другие экземпляры:
В вашем .h:
@interface MyClass : NSObject
{
int x;
}
Затем в вашем -runTimer:
method:
- (void)runTimer:(NSTimer *)aTimer {
NSLog(@"int x = %i", x++);
}
Если вы гарантируете, что будет существовать только один экземпляр этого класса (например, это singleton), статическая переменная внутри метода -runTimer:
будет работать, но я 'рекомендую использовать переменную экземпляра или @property, так как это лучшая практика программирования.