-1

我正在尝试制作一个 facebook 朋友选择器,显示当前安装了该应用程序的朋友,这些朋友也是当前用户的 facebook 朋友。

在这里,我正在获取用户的 facebook 个人资料图片,但是,我似乎有一个警告,其中没有使用最后一条语句。谢谢你的帮助。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"friendCell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
    PFUser *facebookID = [[PFUser alloc] init];
    facebookID = [friendUsers objectAtIndex:0];
    NSString *fbIdString = [[NSString alloc] init];
    fbIdString = [facebookID objectForKey:@"fbId"];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
        NSURL *profilePictureURL = [NSURL URLWithString:[NSString stringWithFormat:@"https://graph.facebook.com/%@/picture?type=large", fbIdString]];
        NSData *picData = [NSData dataWithContentsOfURL:profilePictureURL];
        UIImage *fbPic = (UIImage *)[self.view viewWithTag:1001];
        [fbPic initWithData:picData];

    }



    // Configure the cell...

    return cell;
}
4

2 回答 2

0

您需要将initWithData:调用结果实际分配给您的fbPic图像。例如

fbPic = [fbPic initWithData: picData];

关于 UIImage 的苹果文档

- (id)initWithData:(NSData *)data

参数

  • data - 包含图像数据的数据对象。

返回值

  • 一个已初始化的 UIImage 对象,如果方法无法从指定的数据初始化图像,则返回 nil。
于 2013-04-03T00:31:03.157 回答
0

有几件事:

  1. UIImage *fbPic = (UIImage *)[self.view viewWithTag:1001];- 我想你正试图从单元格中获取 UIImageView?
  2. 没有 UIImageView 您实际显示图像的位置。

它应该是这样的:

if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
        NSURL *profilePictureURL = [NSURL URLWithString:[NSString stringWithFormat:@"https://graph.facebook.com/%@/picture?type=large", fbIdString]];
        NSData *picData = [NSData dataWithContentsOfURL:profilePictureURL];
        UIImageView *fbPicImageView = (UIImageView *)[self.view viewWithTag:1001];
        [fbPicImageView setImage:[UIImage imageWithData:picData]];
    }
于 2013-04-03T00:39:08.757 回答