Инструмент утечки показывает вам, где что-то, что протекает, было выделено.
Итак, что вы говорите, после того, как вы присвоили эти значения, они никогда не были выпущены - что, похоже, означает, что ваш навигационный контроллер не освобождается, когда это должно быть. Не отпускайте объект, вы не владеете им, и в конечном итоге вы получите сбой. UIColor, вероятно, просто кеширует эти цвета для вас, и у Instruments нет возможности узнать об этом, поэтому он сообщает о них как об утечках (в основном, материал, который был создан, и у вас нет ссылки на него, но он не был освобожден).
Попробуйте запустить инструменты в течение некоторого времени (используя симулятор), а затем отправьте предупреждение памяти, чтобы увидеть, удалит ли UIColor свой кэш. В любом случае, вы ничего не можете сделать, чтобы исправить утечки, происходящие внутри основных структур, поэтому не пытайтесь. Просто убедитесь, что вы на самом деле не пропускаете их (например, сохраняете их в какой-то момент и никогда не выпускаете их).
Суть в том, что если приведенный выше код - это все, что вы делаете, color
определенно не протекает. Если вы удерживаете этот объект где-либо еще, не отпуская его, он протекает.
Никогда не отпускайте объект, который вы не помните, сохраняя. КОГДА-ЛИБО. Но я подозреваю, что вы просто его где-то храните и даже не замечаете.