2012-01-04 3 views
0

Я собираю объект, который запрашивает файл на сервере, все отлично работает, но если я хочу освободить этот объект раньше, вызывается dealloc, данные все еще появляются и внутри connectDidFinishLoading, когда я использую для например, uilabel, чтобы сохранить данные при сбое приложения с плохой ошибкой доступа. Есть какое-то решение? Если я подожду ко всем именам данных и отпустите объект, приложение будет работать нормально.connectionDidFinishLoading при выпуске этого объекта

ответ

0

Вы говорите, что хотите рано отпустить объект, поэтому я предполагаю, что вы не используете ARC (Automatic Reference Counting) и, следовательно, вы не кодируете iOS 5.0.

Вместо того, чтобы отпускать объект, автообносите объект. Система отключит делегата, как только делегат больше не понадобится. Кроме того, не забудьте отменить свое соединение.

1

Предполагая, что вы говорите о NSURLConnection взгляд на метод

- (void)cancel 

Место это в начале вашего `dealloc

NSURLConnection docs говорят:

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

Смежные вопросы