2016-08-05 3 views
0

я использую Шеззаде пузырь, чтобы создать вид чата работает нормальноШеззаде пузырь вызова веб-службы Фрезе мнение

https://github.com/kerrygrover/iMessageBubble

Когда я называю свой веб-сервис в моем внутри метода это в конце

- (IBAction)sendMessage:(id)sender 

вот моя функция вызова веб-метода, которая дает результат, положит успех и отправит мой чат на сервер, но мой взгляд замерзнет.

NSError *errorReturned = nil; 
    NSString *urlString = @"https://url/methodname”; 
    NSURL *url = [NSURL URLWithString:urlString]; 
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; 
    [request setHTTPMethod: @"POST"]; 
    [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 
    NSMutableDictionary *dict = [NSMutableDictionary dictionary]; 
    [dict setObject:employeeId forKey:@"employeeId"]; 
    [dict setObject:employeename forKey:@"employeename"]; 
     NSLog(@"dic=%@",dict); 
    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict options:kNilOptions  error:&errorReturned]; 
    [request setValue:[NSString stringWithFormat:@"%lu", (unsigned long)[jsonData length]] forHTTPHeaderField:@"Content-Length"]; 
    [request setHTTPBody: jsonData]; 

    NSURLResponse *theResponse =[[NSURLResponse alloc]init]; 
    NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&theResponse error:&errorReturned]; 


    if (errorReturned) 
    { 
     //...handle the error 

    } 
    else 
    { 
     NSString *responseString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 
     NSLog(@"%@", responseString); 

     //...do something with the returned value 
    } 
} 

ответ

1

plz создать новую очередь, не запускать этот код в главной очереди. вы используете код в главной очереди plz, используя это

dispatch_queue_t myQueue = dispatch_queue_create("myQueue", NULL); 

     // execute a task on that queue asynchronously 
     dispatch_async(myQueue, ^{ 
    NSError *errorReturned = nil; 
     NSString *urlString = @"https://url/methodname”; 
     NSURL *url = [NSURL URLWithString:urlString]; 
     NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; 
     [request setHTTPMethod: @"POST"]; 
     [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 
     NSMutableDictionary *dict = [NSMutableDictionary dictionary]; 
     [dict setObject:employeeId forKey:@"employeeId"]; 
     [dict setObject:employeename forKey:@"employeename"]; 
      NSLog(@"dic=%@",dict); 
     NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict options:kNilOptions  error:&errorReturned]; 
     [request setValue:[NSString stringWithFormat:@"%lu", (unsigned long)[jsonData length]] forHTTPHeaderField:@"Content-Length"]; 
     [request setHTTPBody: jsonData]; 

     NSURLResponse *theResponse =[[NSURLResponse alloc]init]; 
     NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&theResponse error:&errorReturned]; 


     if (errorReturned) 
     { 
      //...handle the error 

     } 
     else 
     { 
      NSString *responseString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 
      NSLog(@"%@", responseString); 

      //...do something with the returned value 
     } 

     }); 

 Смежные вопросы

  • Нет связанных вопросов^_^