ios – 在分离的线程问题中使用块的异步FB请求

我正在使用 IOS Facebook SDK 3,我正在尝试使用更高效的方法.
所以我想在单独的线程中管理一些请求.

例如这个请求(完美的工作):

dispatch_queue_t queue = dispatch_get_global_queue(disPATCH_QUEUE_PRIORITY_BACKGROUND,0);
dispatch_async(queue,^{

    [self generateShareContentFor:ShareServiceTypeFacebook 
                         callback:^(NSMutableDictionary* obj)
     {
         FBRequest * rq = [FBRequest requestWithGraPHPath:@"me/Feed" 
                                               parameters:obj 
                                               HTTPMethod:@"POST"];
         [rq startWithCompletionHandler:^(FBRequestConnection *connection,id result,NSError *error) { 

              dispatch_async(dispatch_get_main_queue(),^{
                 // TREATING RESULT
                 [[UFBManager defaultManager] errorHandlerFromError:error 
                                                         fromrqType:UFBManagerRqTypePost];
              });

          }];
     }];  

});

>我正在使用这个在我的Feed上发布内容,我调用一个方法自动加载此请求的内容,然后在方法调用此块以启动请求.
这个很好用.
>问题是如果我不将此请求放在一个块中,那就不起作用了.

此请求不起作用

dispatch_queue_t queue = dispatch_get_global_queue(disPATCH_QUEUE_PRIORITY_BACKGROUND,0);
     dispatch_async(queue,^{

          FBRequest * rq = [FBRequest requestForMe];
          [rq startWithCompletionHandler:^(FBRequestConnection *connection,NSError *error) {

                  dispatch_async(dispatch_get_main_queue(),^{

                    // TREATING RESULT
                    [[UFBManager defaultManager] errorHandlerFromError:error 
                                                          fromrqType:UFBManagerRqTypeGet];

                  });

          }];
     });

我想弄清楚,但我不明白是什么问题.
在此先感谢您的帮助.

解决方法

我有一点这个问题.

确保在主线程上分派代码.

dispatch_async(dispatch_get_main_queue,^{

           FBRequest * rq = [FBRequest requestForMe];
           [rq startWithCompletionHandler:^(FBRequestConnection *connection,NSError *error) {
                   //The docs say this will be the main queue here anyway
                   //Feel free to go on a background thread at this point
                   }];

        });

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...