我可以分享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;