В первом фрагменте, что просочилось?Приборы сообщат вам строку, где она была выделена, которая часто не является строкой, «ответственной» за утечку (конечно, номера строк, как правило, отключены, потому что это дает вам адрес возврата, а не адрес вызова).Я предполагаю, что происходит утечка MyViewController, и что инструменты на самом деле жалуются на alloc (посмотрите на backtrace, cmd-E, я думаю).
Если вы нажмете стрелку рядом с адресом памяти (вы можетепридется немного кликнуть и навести курсор на адрес утечки; я не помню) вы увидите все вызовы alloc / retain / release / autorelease / malloc / free / CFRetain / CFRelease по этому адресу.Игнорируйте те, которые находятся перед alloc (они относятся к предыдущему объекту, который, как оказалось, жил по тому же адресу).Матч сохраняет и (авто) выпускает.Вы можете сопоставить автоматическое освобождение с соответствующим (отложенным) выпуском, потому что отложенное высвобождение произойдет, когда NSAutoreleasePool будет освобожден (что очевидно в трассировке стека).Ищите удержание без соответствующего (авто) выпуска.Это утечка.
Во втором случае полезно, если вы скажете нам, что Clang SA говорит вам (нажмите на маленький треугольник слева, и он развернется, чтобы показать вам поток управления, где происходит утечка).
Но я не думаю, что цикл вообще работает, потому что fireDates
пусто.