Это может звучать как вопрос новичка, однако я новичок в разработке для iOS.
В навигационном контроллере выдвинуто представление, и в этом представлении при нажатии какой-либо кнопки я запускаю следующий код.
mUploadeImageConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES];
[request release];
if (mUploadeImageConnection) {
mUploadImageResponseData = [[NSMutableData data] retain];
} else {
[mUploadeImageConnection release];
}
Я также реализовал следующие методы для обработки состояния соединения
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
Когда я отправляю запрос mUploadeImageConnection
, получение ответа занимает некоторое время.Но я не жду ответа и не нажимаю кнопку навигации назад, то есть я запускаю представление, но все же у меня работают четыре функции обработки соединений, хотя представление, из которого был отправлен запрос mUploadeImageConnection
, выскочило,В случае didFailWithError
я показываю некоторый alertView, который будет странно показывать в этом случае, т.е. показывает alertView о некотором представлении, которое уже выскочило (не видно / пользователь пришел к предыдущему представлению).
Итак, теперь мои вопросы
- Как лучше всего справляться с подобной ситуацией?
- Как я могу заставить свои четыре функции остановиться?