0

リストの友達facebookを表示するのに問題があります.FBRequestを使用しています.すでにリストの友達を取得していますが、UITableViewに表示されません.

これが私のコードです:

- (void)viewDidLoad
{
    [self.tblView setDataSource:self];
    [self.tblView setDelegate:self];
    [super viewDidLoad];
    [self loadFirst];
        _itemsNamesFriend = [[NSMutableArray alloc] init];
        if (FBSession.activeSession.isOpen) {

            FBRequest *friendRequest = [[FBRequest alloc] initWithSession:FBSession.activeSession graphPath:@"me/friends"];

            [friendRequest startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
                NSDictionary *resultDictionary = (NSDictionary *)result;
                _itemsNamesFriend = [resultDictionary objectForKey:@"data"];
                NSLog(@"%@",_itemsNamesFriend); //--> have data

            }];

            NSLog(@"%@",_itemsNamesFriend); //--> data is empty
            [self.tblView reloadData];
        }

}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
//    NSLog(@"%d",_itemsNamesFriend.count);
    return _itemsNamesFriend.count;
}
4

1 に答える 1

0

ブロック内の変数に加えられた変更は、ブロックの外には表示されません。したがって、ブロック内で行われた変更が外部に表示されるようにするには、__block で宣言する必要があります。

これは、.h ファイルで行う必要があることです。

__block NSMutableArray* _itemsNamesFriend;

それはあなたの問題を解決するはずです。

于 2013-07-19T02:06:15.947 に答える