0

私は現在、プロファイル フィードを取得して UITableView に配置する iOS 用の Facebook アプリケーションを作成しています。

ビューがロードされたとき:

 [facebook requestWithGraphPath:@"me/feed" andDelegate:self];

そして -(void)request:(FBRequest *)request didLoad:(id)result で、私は持っています:

NSArray *messagesFBData = [result objectForKey:@"data"];
NSMutableArray *friendIds = [NSMutableArray arrayWithCapacity:messagesFBData.count];
NSMutableArray *fromData = [NSMutableArray arrayWithCapacity:messagesFBData.count];
NSMutableArray *imagesLocal = [NSMutableArray arrayWithCapacity:messagesFBData.count];
for (int x = 0; x < messagesFBData.count; x++) {
    if ([(NSDictionary *)[messagesFBData objectAtIndex:x] objectForKey:@"message"] != nil) {

        [friendIds addObject:[((NSDictionary*)[messagesFBData objectAtIndex:x]) objectForKey:@"message"]];
        NSLog(@"loop Log: %@", [(NSDictionary *)[messagesFBData objectAtIndex:x] objectForKey:@"message"]);
        [fromData addObject:[((NSDictionary*)[messagesFBData objectAtIndex:x]) objectForKey:@"from"]];
        NSLog(@"%@", [((NSDictionary*)[messagesFBData objectAtIndex:x]) objectForKey:@"from"] );
        NSDictionary *fromDataDictionary = [fromData objectAtIndex:x]; 
        [imagesLocal addObject:[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://graph.facebook.com/%@/picture", [fromDataDictionary objectForKey:@"id"]]]]]];
            NSLog(@"facebook ID: %@", [fromDataDictionary objectForKey:@"id"]);
    } else  
         {
             NSLog(@"Nil Called");                 
         }

}

// don't forget to call loadData for your tableView
messages = friendIds;
images = imagesLocal;
NSLog(@"Equalized");
self.facebookTableView.delegate = self;
NSLog(@"Delegate Set");
[facebookTableView reloadData];

images はグローバル配列なので、-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath でアクセスできます。

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPathで、私は持っています:

NSLog(@"Cell For Row Called");
UITableViewCell *cell = [tableView 
                         dequeueReusableCellWithIdentifier:@"messageCell"];
NSString *story = [messages objectAtIndex:indexPath.row];
cell.textLabel.text = story;

UIImage *image = [images objectAtIndex:indexPath.row];
cell.imageView.image = image;

cell.alpha = 1;
return cell;

だから私がひどい時間を過ごしている質問は、ユーザーが壁に写真やビデオを投稿したとき、どうすればそれを処理できますか? テーブルビュー自体に画像/ビデオを表示したいと思います。今のところ、クラッシュするだけです。どんな助けでも大歓迎です。

ありがとう、ヴィリンド・ボラ

4

1 に答える 1

0

どの時点でクラッシュしますか?コードにブレークポイントを設定しましたか?UIImageをimagesLocal配列に追加するとき、「https://graph.facebook.com/%@/picture」のパスに有効な画像が含まれていますか?

于 2012-05-08T01:36:53.223 に答える