#iphone #ios #memory-management
#iPhone #iOS #управление памятью
Вопрос:
У меня есть следующий оператор в моем контроллере viewWillAppear:
connectionInprogress = [[NSURLConnection alloc]initWithRequest:request delegate:self startImmediately:YES];
Какое подходящее место для его выпуска? То есть могу ли я просто сделать это в viewDidUnload или имеет больше смысла делать это в viewDidDissapear?
Я предполагаю, что основной вопрос здесь заключается в том, вызывается ли viewDidUnload каждый раз, когда вызывается viewDidDissapear?
Ответ №1:
No viewDidUnload
сопряжено с viewDidLoad
и может никогда не вызываться, поэтому вы также должны выпустить переменные вашего экземпляра в dealloc
. viewDidUnload
вызывается, если контроллеру представления отправляется предупреждение о памяти.
Вы должны освободить NSURLConnection
в функциях обратного вызова: connectionDidFinishLoading:
и connection:didFailWithError:
. Будет вызван только один.
Ознакомьтесь с документацией Xcode для загрузки URL Руководство по системному программированию: Использование NSURLConnection.
Ответ №2:
Проверьте документацию, это будет самый быстрый способ