0

asihttp を使用して Web サービスを呼び出そうとするアプリがあります。すべてが正常に機能していますが、問題は、通話の完了後に進行中のサービス呼び出しがすべて正常に機能しているときに、アクションボタンが機能しないことです。以下は私のコードです

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

次のようにグランド セントラル ディスパッチ (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 に答える