2012-04-18 8 views
0

私はPHPスクリプトからいくつかのデータを取得する次のコードを持っています。私はそれが進行状況インジケータが回転しないようにインターフェイスをブロックすることを発見しています。 これをバックグラウンドに送信する簡単な方法はありますか?UIは必要なものを自由に実行できますか?私は(当時のObj-C一歩を学ぶ!)を使用して、ブロックはこれを達成しているだろうが、私は明らかに間違っていたという印象の下にあったAFHTTPRequestOperationブロックのUI

ありがとう!

NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys: 
         self.user.username, @"username", 
         self.user.password, @"password", 
         nil]; 
AFHTTPClient *client = [[AFHTTPClient alloc] initWithBaseURL: 
         [NSURL URLWithString:@"http://domain.com"]]; 

    // Show animated progress indicator, etc  
[self enbleLoadingState:YES]; 

[client postPath:@"/en/api/login" parameters:params success:^(AFHTTPRequestOperation *operation, id response) { 
    [self enbleLoadingState:NO]; 
    // Do stuff 

} failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
    [self enbleLoadingState:NO]; 
    // Show error 
}]; 
+0

このコードは動作するはずです。リクエストはバックグラウンドで読み込まれます。問題は他の場所になければなりません。 – Felix

+0

私は(5)5秒間待機し、進行状況インジケータがちょうどそこに留まり、私はできない睡眠を行うサブクラスAFHTTPClientより良いとphix23 @それシングルトンクラス – Felix

+0

作るしかし、それは私のPHPスクリプトで:(機能しません。私は最新のXcodeとiOS SDKを使用しています。これは、シミュレータとiPad 1世代で発生します。私はARCを使用しています...私は何も考えることはできません – Julian

答えて

0

このコードは動作するはずです。リクエストはバックグラウンドで読み込まれます。問題は他のどこかにあるはずです。 メインスレッドでどこの時間が費やされているのか分かりません。enbleLoadingState:にありますか?要求を開始するメソッドはすぐに戻る必要があります。これをテストするには、メソッドの開始時と終了時と成功ブロック内にNSLogを挿入します。成功ブロックのNSLogは最後に出力されます。

関連する問題