我目前正在处理Xcode的Facebook框架。
到目前为止,我已设法完成所有操作并通过我的应用程序登录。用户按下登录按钮并进行身份验证后,屏幕会隐藏按钮,而是显示用户的姓名和个人资料图片。这正是我需要的。
现在我正在努力实现一个隐藏的侧边菜单(目前也在工作),它将像以前一样显示用户的姓名和个人资料图片。但是,我不知道如何再次掌握这些信息。
为清楚起见,这是我的相关代码;
初始登录页面 - 显示个人资料图片
-(void)loginViewFetchedUserInfo:(FBLoginView *)loginView user:(id<FBGraphUser>)user{
self.fbProfilePicView.hidden = false;
self.fbProfilePicView.profileID = user.objectID;
}
菜单视图显示尝试 - 空白图片,错误=&#34;使用未声明的标识符&#39;用户&#39; &#34;
-(void)viewDidLoad{
self.menuProfilePic.profileID = user.objectID;
}
有谁知道如何使用已经显示过的数据?
答案 0 :(得分:0)
对于在搜索类似问题时可能会发现此问题的任何人都可以。
获取数据时,您可以按我上面发布的方式进行操作,如下所示:
-(void)loginViewFetchedUserInfo:(FBLoginView *)loginView user:(id<FBGraphUser>)user{
//CODE TO EXECUTE
}
这是您在批准的身份验证后使用的功能,因为它从登录过程中提供了信息。
要在获得批准后获取信息,您可以使用以下内容:
//Verify User is Logged In
if(FBSession.activeSession.isOpen){
//Start Request for User's Information
[[FBRequest requestForMe] startWithCompletionHandler:^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error){
//Code to Execute
if(!error){
//CODE TO EXECUTE
}
}];
}
在这两种情况下,您只需在view.h文件中定义属性,然后使用view.m填充它们即可显示获取的数据:
<强> VIEW.H 强>
@property (weak, nonatomic) IBOutlet UILabel *uiLabel;
@property (weak, nonatomic) IBOutlet FBProfilePictureView *fbProfilePicView;
VIEW.M - 在我写的内容&#34;执行代码&#34;
self.uiLabel.text = [NSString stringWithFormat:[user name]];
self.fbProfilePicView.profileID = user.objectID;
我希望我能以一种易于理解的方式写出来。我坚持这一点,所以我确信有人会从中受益。