diff --git a/MSWeakTimer.m b/MSWeakTimer.m index 78efe97..55946db 100644 --- a/MSWeakTimer.m +++ b/MSWeakTimer.m @@ -201,16 +201,17 @@ - (void)timerFired { return; } - + + MSWeakTimer *strongSelf = self; // We're not worried about this warning because the selector we're calling doesn't return a +1 object. #pragma clang diagnostic push #pragma clang diagnostic ignored "-Warc-performSelector-leaks" [self.target performSelector:self.selector withObject:self]; #pragma clang diagnostic pop - if (!self.repeats) + if (!strongSelf.repeats) { - [self invalidate]; + [strongSelf invalidate]; } }