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

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

概述我正在使用 IOS Facebook SDK 3,我正在尝试使用更高效的方法. 所以我想在单独的线程中管理一些请求. 例如这个请求(完美的工作): dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0);dispatch_async(queue, ^{ [self 我正在使用 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 – 在分离的线程问题中使用块的异步FB请求全部内容,希望文章能够帮你解决ios – 在分离的线程问题中使用块的异步FB请求所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1115070.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存