NSTimer не останавливается на недействительности

Я добавляю таймер вот так

tim=[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(repeatTim) userInfo:nil repeats:YES];
[[NSRunLoop mainRunLoop] addTimer:tim forMode:NSDefaultRunLoopMode];

Тим это свойство NSTimer моего класса.

Затем я останавливаю это на нажатии кнопки, как

[[fbt tim] invalidate];
[fbt setTim:nil];

FBT это экземпляр моего класса.

если я называю только недействительным, то это нене останавливаться, но если я установил его на ноль, то я получил EXC_BREAKPOINT

здесь код метода repeatTim в селекторе

AppDelegate *appDelegate = [[UIApplication sharedApplication]delegate];
[appDelegate.wbv stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"intal()"]];

Я пытался позвонитьв этом а такжеаннулировать в

dispatch_async(dispatch_get_main_queue(), ^{})

это также неТаймер остановки.

Ответы на вопрос(2)

Ваш ответ на вопрос