cancelPreviousPerformRequestsWithTarget:
- это метод NSObject, а не метод NSTimer, и он обратен performSelector:
методам NSObject.
[NSTimer cancelPreviousPerformRequestsWithTarget:self]
- это то же самое, что и [NSObject cancelPreviousPerformRequestsWithTarget:self]
, и то, что он отменяет,любые предыдущие [self performSelector:… withObject:… afterDelay:…]
сообщения.Он не имеет ничего общего с экземплярами NSTimer.
Отправка сообщения в класс NSTimer, а не в класс NSObject, работает так же, как отправка alloc
в класс.Никакие классы не переопределяют это;это работает, потому что реализация NSObject наследуется, и делает то же самое по той же причине.