URLConnection методы делегата не вызываются - PullRequest
0 голосов
/ 07 января 2011

Я использую два веб-сервиса в своем коде.и вызов методов при нажатии кнопки оповещения Мой код имеет вид

  • (void) alertView: (UIAlertView *) alertView clickedButtonAtIndex: (NSInteger) buttonIndex {if (buttonIndex == 1) {if (alertView == AlertDel) {

    [self DeleteFromServerDatabase];
    

    }}} - (void) DeleteFromServerDatabase {[загрузка setFrame: CGRectMake (140, 210, 40, 40)];[загрузка setHidden: НЕТ];[загрузчик setHidden: НЕТ];[self.view takeSubviewToFront: загрузчик];[self.view takeSubviewToFront: загрузка];[loading startAnimating];NSString * devToken = app.iDevice;// NSString * devToken = [[UIDevice currentDevice] uniqueIdentifier];if (devToken) {

    } else devToken = @ "c677";NSString * soapMessage = [NSString stringWithFormat: @ "\ n" "\ n" "\ n" "\ n" "% @ \ n" "% @ \ n" "% @ \ n" "\ n" "\ n"" \ n ", bday.fname, bday.lname, devToken];

    NSURL *url = [NSURL URLWithString:@"http://72.167.96.135:8101/BirthDayWebService.asmx"];
    NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
    NSString *msgLength = [NSString stringWithFormat:@"%d", [soapMessage length]];
    
    [theRequest addValue: @"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
    [theRequest addValue: @"http://tempuri.org/DeleteBirthday" forHTTPHeaderField:@"SOAPAction"];
    [theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"];
    [theRequest setHTTPMethod:@"POST"];
    [theRequest setHTTPBody: [soapMessage dataUsingEncoding:NSUTF8StringEncoding]];
    
    theConnection2 = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
    
    if( theConnection2 )
    {
        webData = [[NSMutableData data] retain];
    }
    else
    {
    
    }
    

    }, но ни один из делегатов UrlConnection не вызывается.Пожалуйста, помогите мне из этого

Ответы [ 2 ]

1 голос
/ 07 января 2011

Вы ничего не делаете в своем предложении else:

if( theConnection2 )
{
  webData = [[NSMutableData data] retain];
}
else
{

}

Вы уверены, что соединение было правильно инициализировано?В NSURLConnection документах указано:

Возвращаемое значение

URL-соединение для запроса URL.Возвращает nil, если соединение не может быть инициализировано.

Кроме того, убедитесь, что вы запускаете загрузку в главном потоке или в любом потоке, к которому хотите вернуться,:

Сообщения делегату будут отправляться в потоке, который вызывает этот метод.

0 голосов
/ 07 января 2011

ты забыл [theConnection2 start]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...