UIView中的FBRequestConnection不链接IBOutlets

时间:2012-09-24 13:27:54

标签: xcode4.3 objective-c-blocks facebook-ios-sdk

我有一个ViewController有很多信息,为了更好地阅读代码,我将这个VC的部分分成两个视图。因此,我初始化这些视图,设置框架并将它们作为子视图添加到ViewController。

这些视图已连接.xib,我可以链接到我的所有IBOutlets。直到这里,一切都好但是..

..在其中一个视图中我需要查询Facebook,以检索一些信息。所以我使用代码:

[FBRequestConnection startWithGraphPath:@"myGraphApiQuery"
                                 parameters:nil
                                 HTTPMethod:@"GET"
                          completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
                                 [myOutlet setTitle:@"Test"]; // here's the issue
}];

使用此代码myOutlet永远不会设置Test标题,似乎插座没有链接。我不明白为什么我无法从completionHandler的广告代码FBRequestConnection链接到我的商店...

如果我尝试从Title调用的选择器设置ViewController,那就没问题了。

有人可以解释一下它的原因吗?我仍然是一个客观的初学者。

1 个答案:

答案 0 :(得分:0)

在后台线程上调用来自FBRequestConnection的回调。 UIKit调用必须在主线程上进行。试试这个:

[FBRequestConnection startWithGraphPath:@"myGraphApiQuery"
                             parameters:nil
                             HTTPMethod:@"GET"
                      completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
                          dispatch_async(dispatch_get_main_queue(), ^{
                              [myOutlet setTitle:@"Test"];
                          });
}];