用户登录时解析获取 facebook 个人资料图片
Posted
技术标签:
【中文标题】用户登录时解析获取 facebook 个人资料图片【英文标题】:Parse get facebook profile picture when user is logged in 【发布时间】:2014-07-21 14:56:51 【问题描述】:我是解析新手,我刚刚使用解析实现了一个 facebook 登录。在我的应用程序中,我需要登录人的 Facebook 个人资料图片。我已经创建了该方法,但不知道是否有更简单的方法。
此方法需要时间加载,这不是很好。我可以在该人登录时以某种方式加载个人资料图片,然后在另一个视图控制器中使用它吗?
这是我目前的代码:
// After logging in with Facebook
[FBRequestConnection
startForMeWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error)
if (!error)
NSString *facebookId = [result objectForKey:@"id"];
image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://graph.facebook.com/%@/picture?type=large", facebookId ]]]];
[self.tableView reloadData];
];
【问题讨论】:
【参考方案1】:这实际上与 Parse 无关。它只是 Facebook SDK。
您需要做的是将图像存储在某个地方,以便您可以在它已经存在的情况下获取它。
最简单(但可能不是最好)的方法是使用单例。
创建一个带有属性的单例对象...
@interface MySingleton : NSObject
@property (nonatomic, strong) UIImage *userImage;
+ (instancetype)sharedInstance;
@end
那么你可以在下载之前检查它是否存在...
UIImage *theImage = [[MySingleton sharedInstance] userImage];
if (!theImage)
// download the image from Facebook and then save it into the singleton
下载后,您可以从单例中获取它,而无需每次都下载。
【讨论】:
以上是关于用户登录时解析获取 facebook 个人资料图片的主要内容,如果未能解决你的问题,请参考以下文章
iOS:无法将 Facebook 个人资料公开数据作为媒体(图片和视频)
如何在统一引擎中从 Facebook API 获取用户名和用户个人资料图片?