Передача объекта в метод в NSTimer - PullRequest
0 голосов
/ 02 апреля 2011

Это действительно тупой вопрос. Как бы вы передали объект в метод, используя NSTimer? Я имею в виду что-то вроде этого -

У меня есть метод в BigView.m, который имеет метод с именем doSomethingWithClass:.

- (void)doSomethingWithClass:(CustomClass *)class {
    NSLog(@"Something was done");
}

В другом классе под названием CustomClass у меня есть NSTimer -

NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:0.5 target:bigView selector:@selector(doSomethingWithClass:) userInfo:nil repeats:NO];

Где bigView является экземпляром BigView. Теперь я хочу передать весь экземпляр CustomClass в качестве параметра в методе doSomethingWithClass:. Как мне это сделать?

1 Ответ

3 голосов
/ 02 апреля 2011

Если вам не нужно обращаться к таймеру, используйте более простой метод performSelector:withObject:afterDelay: .

[bigView performSelector:@selector(doSomethingWithClass:)
              withObject:customClass
              afterDelay:0.5];

(Для отмены используйте +cancelPreviousPerformRequestsWithTarget:….)

...