将PFUser作为PFObject传递时遇到问题

时间:2014-12-08 05:32:13

标签: ios uitableview parse-platform

所以在我的应用程序中,我希望通过单击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。

当我在NSlogdidSelectRow时,它的信息与所有用户详细信息一致, 当我NSlog prepareSegue时,它会崩溃,因为它是NULL

1 个答案:

答案 0 :(得分:1)

如果您想访问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

上找到了对问题解释的链接