Как можно подавить это предупреждение статического анализатора Xcode Clang?

«Возможная утечка объекта, выделенного в строке n и сохраненного в ' variable '. "

Обычно это очень полезное предупреждение анализатора, но есть несколько ситуаций, когда я получаю досадные ложные срабатывания, которые я хотел бы подавить, чтобы результаты моего анализатора оставались чистыми. В защиту анализатора, что это? Замечание определенно было бы утечкой памяти, если бы не выпуск с другим путем выполнения (к которому оно не относится).

Я подробно остановлюсь на своей ситуации. Это бывает в разных вариантах, но общая схема выглядит следующим образом:

  1. Объект выделяется и устанавливается его делегат.
  2. Что-то делается с объектом. (Задача запущена, отображается представление и т. Д.)
  3. Выполнение текущего метода завершено. (Предупреждение Enter Clang.)
  4. Объект решает, что его задача завершена, отправляет делегату сообщение.
  5. Делегат освобождает объект.

Это вовсе не эзотерический шаблон проектирования, поэтому я надеюсь, что подавление возможно. Я знаю, что этого можно избежать, сохранив оскорбительный объект в иваре, который позже будет выпущен, но я очень предпочитаю не добавлять загрязнение иваром.

5
задан Matt Wilding 10 February 2011 в 01:04
поделиться