2016-11-07 1 views
0

У меня есть 2 100% -ных протечек при запуске приложения. Просочившимися объектами, указанными прибором, являются объекты CFArray.Утечка объекта CFArray, но обнаружена линия, которая вызывает утечку не содержит объект CFArray

Вот скриншот:

enter image description here

Когда я нажимаю на одном объекте утечки и проверить его сохранить цикл. Вот что я вижу:

enter image description here

я затем на линии, показанной на левой стороне, что вызывает утечку, чтобы проверить код, то это придумал:

enter image description here

Мои проблема в том, что эта строка [UIDevice currentDevice].systemVersion.floatValue что состояния прибора даже не возвращают никаких объектов CFArray. Поэтому я не понимаю, откуда взялся этот CFArray.

+1

Здесь есть несоответствие. Я не понимаю, что должны быть 2 байта из строки '[UIDevice currentDevice] .systemVersion.floatValue'. Утечка * CFArray * протекает в две строки ниже, в строке 'NSArray * wifiInfoList ...'. Речь идет о массивах (внутренне это CFArray вместо NSArray). Столбец подтверждает это, поскольку содержит '__CNCopySupportedInterfaces'. – Codo

+0

Статический анализатор обычно неплохо находит эти вещи. – gnasher729

+0

@Codo Спасибо, человек! –

ответ

0

Благодаря @Codo. Похоже, я слишком много сосредоточился на линии [UIDevice currentDevice].systemVersion.floatValue и не понимал, что причиной утечки является неизданный CFArray (supportedInterfaces) в инструкции else. Просто сделал CFRelease(supportedInterfaces), тогда все в порядке.