Вы должны выпустить только urlRequest
.response
, data
уже созданы как объекты с автоматическим освобождением, а content
получает сообщение об автоматическом освобождении перед возвратом (я бы предложил заменить две последние строки просто на return [content autorelease]
).
Также более распространена инициализацияуказатели на объекты nil
вместо NULL
.
Какао имеет соглашение, если вы вызываете alloc
, copy
, retain
или new
на любом из объектов при инициализации или переназначении их вамдолжны release
их, если они не получат сообщение autorelease
после создания.
Вы можете видеть из своего кода, что только urlRequest
и content
переменные создаются с использованием метода alloc
, следовательно, они должныбыть [авто] выпущенным.
обновление с учетом комментариев
Если у вас есть urlRequest
в качестве переменной экземпляра, ранее инициированная переменная может скрывать ивар, и вы можете получитьв различные неприятности (например, EXC_BAD_ACCESS
).Вам лучше выбрать другое имя для локальной переменной.