Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > iOS > соединение с интернет


Автор: urivskay 8.6.2012, 13:08
Здравствуйте ребята. Я хотела обратиться к вам за помощью по следующему вопросу:
написала класс который отправляет запросы удаленному серверу и получает ответы:
Код

NSString *hash = [NSString md5String:pass];  // можно так, а можно и по другому как дальше
    NSString *params = [NSString localizedStringWithFormat:@"?r=client/beginsession&login=%@&password=%@",login,[pass MD5]];
    NSString *urlRequest = [url stringByAppendingString:params];
    NSURL *urlPath = [NSURL URLWithString: urlRequest];
    [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible: YES];
    NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL: urlPath
                                           cachePolicy:NSURLRequestUseProtocolCachePolicy
                                       timeoutInterval:5.0];
    NSURLConnection *connect = [NSURLConnection connectionWithRequest:request delegate:self];

    if (request == nil)
        label.text = @"Нет соединения с сервером.";

    if (connect){
        self.buffer = [NSMutableData data];
    }
    else {
        label.text = @"Нет соединения с сервером.";
    }

/*Реализовала следующие функции для получения данных*/
-(void) connection:(NSURLConnection*)connection didReceiveData:(NSData*)data{
    [self.buffer appendData:data];
}

-(void) connectionDidFinishLoading:(NSURLConnection*) connection{
    [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible: NO];
    NSString *response = [[NSString alloc] initWithData:buffer encoding:NSASCIIStringEncoding];
    self.label.text = response;
}

-(void) connection:(NSURLConnection*)connection didFailWithError:(NSError*) error{
    self.label.text = @"Ошибочка...";
    [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible: NO];
}

-(void) connection:(NSURLConnection*)connection timeoutInterval:(NSError*) error {
    self.label.text = @"Время соединения с сервером истекло";
}


Работаю на виртуальной машине. Версия xCode 3.1.3 ну думаю это не важно.
Если я отключаю соединение с интернет, у меня почему-то не вылетают ошибки..
как-то странно получается, всё что я не напишу в этой функции: didFailWithError , приводит к падению приложения...
Даже если я вообще ничего не напишу приложение падает...
Пожалуйста, подскажите почему? 
Функции касающиеся NSURLConnection z я не описывала в h файле.

Автор: Maksys 8.6.2012, 13:14
А в консоле-то что выдает, когда вылетает?
ЗюЫю не заметил что вопрос решенный.

Автор: urivskay 8.6.2012, 13:42
Не-не-не не решенный! Это я случайно галочку поставила. Я совсем новичок. Не знаю как посмотреть что в консоли приходит..
У меня запускается симулятор с телефоном и при нажатии на кнопку,в которой я пытаюсь соедениться но он меня бросает в функцию DidFailWithError и не выполняет то что в этой функции написано...

Автор: Maksys 8.6.2012, 14:01
А Брэк поинт пробывали ставить?

Автор: urivskay 9.6.2012, 10:30
разобралась с ошибкой. Она была очень глупой. Я посто поставила breakpoint возле имени этой функции, вот он и доходил до неё и останавливался.
Как совсем новичок в этой сфере я не знала что жирная синяя стрелка эта точка остановки приложения. Привыкла что они красные и круглые...

Автор: Maksys 9.6.2012, 11:19
 smile 

Автор: urivskay 9.6.2012, 12:08
А вы мне не подскажите как включить консоль? А то у меня симулятор запускается, всё выполняется, но то что я вывожу в консоль не где не видно... и консоли не вилно.

Автор: urivskay 14.6.2012, 13:58
с консолью уже разобралась.  Ребятушки, подскаджите, пожалуйста: как мне показать на форме navigationBar ? Я его скрыла в корневом представлении в программе IB, когда я перехожу к другой форме методом:
[self.navigationController pushViewController:detail animated:YES];
он тоже скрыт.. А мне на этой форме понадобятся кнопки "назад" и "домой". Как сделать чтобы они стали видны ?

Автор: Maksys 14.6.2012, 14:37
 smile Для каждого вопроса свой топик!

Я сам еще нуб, а так при пушинке навигатор не передается. Он передается толька при связках окон. Кроме как заного порадить навигатор в пушинге я не знаю чем помоч.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)