2

iOSアプリケーションを構築していますが、バックグラウンドスレッドのリクエスト結果からモデルオブジェクトを構築する方法があるかどうか疑問に思っていました。AFHTTPClientリクエストメソッドでの成功のコールバック/ブロックはすべてメインスレッドで行われているようです。

4

2 に答える 2

5

使用dispatch_async

    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void) {
        // Do model serialization here, e.g.: 
        // NSMutableSet *mutableRecords = [NSMutableSet set];
        // for (NSDictionary *attributes in [JSON valueForKey:@"records"]) {
        //  [mutableRecords addObject:[[YourModelClass alloc] initWithDictionary:attributes]];
        // }

        dispatch_async(dispatch_get_main_queue(), ^(void) {
            // Execute callback passing, e.g.:
            // block(mutableRecords);
        });
    });

これは、要求操作の成功ブロックにあります。変数はblock、リクエストを行ったメソッドに渡されるパラメーターになります。詳細については、iOSサンプルプロジェクトを参照してください。お役に立てば幸いです。

于 2012-05-30T15:08:35.470 に答える
0

AFHTTPRequestOperationには、デフォルトでメインキューに設定されている「successCallbackQueue」プロパティもありますが、これを任意のキューに調整できます。

于 2012-06-01T15:57:51.310 に答える