Я собираюсь поднять вас на пару вещей .. Это может начать катиться мяч:)
Вы говорите
Затем он имеет метод делегата, который
передает полученные данные в
абонент
- РЕДАКТИРОВАТЬ -
Вы имеете в виду, что отправляете сообщение делегату NSURLConnection. Да, это просто семантика, но она понятнее.
Вы говорите
Ссылка, которую я разместил выше, дает 2
ответы, один говорит, что релиз в
делегат и один говорит релиз
немедленно
В сообщении, на которое вы ссылаетесь, говорится, что если вы запустите вторичный поток с NSThread +detachNewThreadSelector:toTarget:withObject:
, то поток сохранит ваш объект, поэтому, если вы закончили с ним, вы можете освободить его, как обычно. Вы этого не делаете.
Второй предложенный метод - предоставить метод для обратного вызова, когда ваша фоновая операция завершена. Поскольку вы используете NSURLConnection, и он уже предоставляет вам перехваты обратного вызова, и фактически вы используете их для возврата загруженных данных, это похоже на путь.
Копирование изменяемого массива действительно дает вам неизменяемую копию, которой вы владеете - поэтому она должна быть self.imagesDataSource = [[articleImagesParserObject.returnedArray copy] autorelease]
, если только imagesDataSource не сохраняет - что было бы нерегулярно.