gpt4 book ai didi

ios - 如何使用 Facebook 个人资料照片填充我的 UITableView

转载 作者:行者123 更新时间:2023-11-29 12:57:19 25 4
gpt4 key购买 nike

几天来我一直坚持这个问题,在 Stackoverflow 上上下搜索答案并查看 GitHub 上的代码后,我束手无策。

我正在尝试让 Facebook 个人资料图片与 UITableView 中的其他数据一起显示。我正在使用以下代码。分数显示,Facebook 个人资料名称显示,但图像不显示。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"];


[FBRequestConnection startWithGraphPath:[NSString stringWithFormat:@"%@/scores?fields=score,user", appID] parameters:nil HTTPMethod:@"GET" completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {

if (result && !error)
{
for (NSDictionary *dict in [result objectForKey:@"data"])
{
NSString *name = [[dict objectForKey:@"user"] objectForKey:@"name"];
NSString *strScore = [dict objectForKey:@"score"];
NSString *profilePictureID = [[dict objectForKey:@"user"] objectForKey:@"id"];
NSString *profilePicture = [NSString stringWithFormat:@"%@/picture?width=80&height=80&redirect=false",profilePictureID];
NSString *url = [[NSString alloc] initWithFormat:@"https://graph.facebook.com/%@/picture",profilePictureID];
UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:url]]];
NSLog(@"The URL is %@. The image URL is %@", url, image);
[url release];
NSLog(@"This message is in the UITableViewCell and will hopefully show the name %@ and the score %@ along with %@ as the profile picture URL.", name, strScore, profilePicture);

// DID NOT WORK - cell.imageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%@", image]];
// DID NOT WORK - cell.imageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%@", profilePicturel]];

cell.imageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%@", url]];

cell.textLabel.text = [NSString stringWithFormat:@"%@", name];
cell.detailTextLabel.text = [NSString stringWithFormat:@"Score: %@", strScore];

}
}

}];

return cell;
}

我的 NSLog 消息正在返回以下数据。

- The URL is https://graph.facebook.com/xxxxx/picture.  The image URL is <UIImage: 0xdee1234>

- This message is in the UITableViewCell and will hopefully show the name xxxxx and the score xxxxx along with xxxxx/picture?width=80&height=80&redirect=false as the profile picture URL.

我已经尝试了十几种不同的方法来让 Facebook 个人资料照片发挥作用,我认为这个方法会考虑到这是我第一次收到这样的日志消息。

我将不胜感激任何关于如何让它工作的帮助或建议。谢谢!

最佳答案

您已经使用此行检索了图像(如果存在):

UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:url]]];

所以你需要做的就是设置它:

cell.imageView.image = image;

imageNamed: 方法仅在您尝试从项目中的文件加载图像时才需要。

不过要注意一件事,NSDatadataWithContentsofURL: 方法是同步的。您将使用这种方法阻塞主线程。您最好先完成所有这些工作,将数据存储在数组中,然后使用该数组作为数据源重新加载 tableView。

关于ios - 如何使用 Facebook 个人资料照片填充我的 UITableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20723181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com