getTimer
- это метод, а не объект, поэтому вы не можете отправлять ему сообщения или получать доступ к свойствам. Скорее, предполагая, что метод находится в том же классе, что и вызывающий его, вы бы назвали его так:
NSTimer *timer = [self getTimer];
if ([timer isValid]) [timer invalidate];
//...
Кроме того, вы пытаетесь освободить свой таймер в методе getTimer после оператора return. Этот код никогда не будет выполнен (метод уже завершен) - что хорошо в этом случае, потому что вы не должны освобождать таймер, он уже автоматически выпущен. Я бы порекомендовал вам прочитать кое-что об Objective-C и соглашениях об именах.