1

AFHTTPSessionManager を使用してリクエストがあります。

    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    [manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
    [manager.requestSerializer setAuthorizationHeaderFieldWithUsername:@"username" password:@"password"];

    [manager GET:[NSString stringWithFormat:@"%@post/%ld",C_baseURL,(long)post_id] parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {

        // this called not in main thread

    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {

        //  this called in main thread

    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

        //  this called in main thread

    }];

successfailureコールバックがメイン スレッドにあることを確認します。
これらのコールバックをコールバックのようにメイン スレッドで実行しないようにするにはどうすればよいprogressですか?

4

1 に答える 1

2

を設定しoperationQueueてデリゲート メソッドの呼び出し方法を選択し、 を設定してcompletionQueue完了ブロックの呼び出し方法を選択できます。

于 2016-03-25T09:11:28.210 に答える