目标c-iMessage气泡调用web服务刷新视图



我正在使用iMessage气泡创建工作良好的聊天视图

https://github.com/kerrygrover/iMessageBubble

当我在内部方法中调用我的web服务时,这是的末端

- (IBAction)sendMessage:(id)sender

这是我的web方法调用函数,它给出了输出成功的结果,并将我的聊天发送到服务器,但我的视图冻结了。

 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
    }
}

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
        }
        });

最新更新