Я использую класс NSURLConnection
для получения некоторых данных через Интернет, в какой-то момент мое приложение зависает, и я получаю сообщение об ошибке, указывающее, что я дважды освободил объект,
вот какЯ создаю экземпляр NSURLConnection
и как я его выпускаю:
NSURLRequest *request = [NSURLRequest requestWithURL:url];
NSURLConnection *connection = [[NSURLConnection alloc]initWithRequest:request delegate:self];
[connection release];
Я должен выпустить его, когда я закончу его использовать, я прав?или он будет выпущен за кулисами?
EDIT
Теперь я решил эту проблему, просто сделал экземпляр NSURLConnection
в качестве ивара и выпустил егов dealloc вот код
заголовочный файл:
// ....
NSURLConnection *connection;
@property (nonatomic, retain) NSURLConnection *connection;
файл реализации:
// ...
NSURLRequest *request = [NSURLRequest requestWithURL:url];
self.connection = [[NSURLConnection alloc]initWithRequest:request delegate:self];
// ...
-(void)dealloc{
[connection release];
[super dealloc];
}
проблема в том, что я не освобождаю старое соединение перед назначением нового, это делается путем добавления себя перед ivar.