因此,在我的应用中,我想通过单击UIButton来实现用户个人资料,我已经完成了所有功能。

当选择indexPath.section并显示用户信息时,我首先添加了功能,因此我想通过按钮执行相同的操作。

这是我在-(void)didSelectRow中的代码

PFObject *object = [self.objects objectAtIndex:selectedRow];
PFUser *user = [object objectForKey:@"userTookPhoto"];

self.userInfo = user;


self.userInfo是PFUser文件中的属性.h

然后在我的PrepareSegue中,我有这个:

else if ([segue.identifier isEqualToString:@"homeToProfile2"])
    {

        transfer.userInformationObject = self.userInfo;
    }


我运行该应用程序,然后点击按钮以推动segue,该应用程序崩溃并说self.userInfo为NULL。

当我在NSlog中使用didSelectRow时,它具有正确的信息以及所有用户详细信息,
当我在NSlog中将其设置为prepareSegue时会崩溃。

最佳答案

如果要访问PFObjects中的PFObject对象,则需要在PFQuery中包括includeKey:方法,并在字段中输入PFObject是...。

因此,如果您在类名称为“消息”的PFUser中访问PFObject对象,则可以像这样创建查询...

PFQuery *query = [PFQuery queryWithClassname:@"Message"];
[query whereKey:@"toUser" equalTo:[PFUser currentUser]];
[query includeKey:@"toUser"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error){
    for (PFObject *obj in objects) {
         NSLog(@"%@", [obj objectForKey:@"toUser"]);
    }
}];


log语句将返回PFUser对象。

这是指向您在Parse Blog上的问题的解释的链接

关于ios - 将PFUser作为PFObject传递时遇到麻烦,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27351961/

10-10 18:34