我可以分享Facebook user.name和user.id多个视图
我已经在这个项目上工作了几个月,我只编程了大约一年,所以即时通讯不会在这个问题上很聪明,所以请耐心等待,我已经创build了一个Facebooklogin,一旦我获取用户信息,我有创build了一个方法来parsing信息到login视图
我把这个方法放在
并且这个方法一旦接收到信息就会传递给loginViewController,我试着将相同的信息传递给settingViewController来显示名字和图片,这是user.name和user.id,我做了相同的步骤,并使用相同的步骤协议,它不工作,现在我的问题是,因为即时通讯使用的信息在loginViewController我不能放置或使用它们在settingViewController,因为即时通讯使用的信息已经。 你能帮我解决这个问题吗?我只是在上个月才开始使用协议。
确保你已经为segue
设置了一个标识符:
并在第二个视图控制器中将profilePicture (您的案例)设置为公共属性 。
然后在你的第一个视图控制器中,简单地使用prepareForSegue:
来传递你的profilePicture property
:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([segue.identifier isEqualToString:@"SecondVCSegue"]) { SecondViewController *secondVC = segue.destinationViewController; secondVC.profilePicture = profilePicture; } }
更新:
你有没有确定你的故事板的视图控制器?
将所有提取的数据存储在自定义类中,然后将该对象传递到目标视图控制器
(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
使用这样的东西在这里UBO是我的自定义类和用户是Facebook的用户对象…该对象包含ID,图像和电子邮件地址..
UBO = [[UserBusinessObject alloc] init];
UBO.userid = user.id;
的NSLog(@ “%@”,UBO.userid);
UBO.email = [user objectForKey:@“email”];
的NSLog(@ “%@”,UBO.email);
NSString * imageUrl = [NSString stringWithFormat:@“ http://graph.facebook.com/%@/picture?type=normal ”,UBO.userid];
NSLog(@“%@ image returned”,imageUrl);
NSData * imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:imageUrl]]; // NSLog(@“image data%@”,imageData); UBO.profilePic =的imageData;