0

我有一个应用程序,我试图在其中使用 asihttp 调用网络服务。一切正常,但问题是在完成呼叫后正在进行的服务呼叫时,我的所有操作按钮都不起作用,一切正常。下面是我的代码

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:strURL]];
    [request setAuthenticationScheme:(NSString *)kCFHTTPAuthenticationSchemeBasic];
    [request setUsername:usrname];
    [request setPassword:passwrd];
    [request setRequestMethod:@"GET"];
    [request setDelegate:self];
    [request setDownloadDestinationPath:JsonPath];
    [request startAsynchronous];

我已经测试了同步和异步但同样的问题。

4

3 回答 3

1

像这样使用Grand Central Dispatch (GCD)

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


    dispatch_async(jsonParsingQueue, ^{
        @try {
             //call webservise code
       }
 }
        @catch (NSException * e) {
            NSLog(@"Exception: %@", e);


        }
        dispatch_async(dispatch_get_main_queue(), ^{


            //table reload or other code

        });
    });
于 2013-07-24T05:44:58.180 回答
1

在后台线程中调用下载方法。

一旦下载完成,在主线程上调用 updateUI 方法。

于 2013-07-24T05:33:19.870 回答
1

据我所知,ASIHTTP 在主线程中调用他们的方法。您可以在此处AFNetWorking使用更快的响应

于 2013-07-24T05:35:13.690 回答