繁体   English   中英

Parse.com IOS,无法获取指向PFUser的指针

[英]Parse.com IOS, cannot fetch a pointer to PFUser

我正在关注Parse.com上的教程,但似乎无法正常工作。 这是我的问题。

我有一个名为Questions的类和一个_User类型的名为_User的类(该类名称旁边有一个图片图标)。 用户通过FB登录并注册为_User 我可以在_User类中看到自己。

我提出一个问题,并且在Question类中有一个名为qOwner ,它是Question的所有者。 像这样通过ios应用保存新问题时设置了此设置:

QuestionCard[@"qOwner"] = [PFUser currentUser];

我可以在_User自己的objectId _User qOwner列中当前问题所在行的值。

_用户类别

问题类

问题是我无法在应用程序内部检索值。 如果我将其放置在正确的位置,请执行以下操作:

PFQuery *query = [PFQuery queryWithClassName:@"Questions"];
[query addAscendingOrder:@"createdAt"];

[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
    if (!error) {
        // The find succeeded.
        NSLog(@"@@@ : Successfully retrieved %lu questions ", (unsigned long)objects.count);
        // Do something with the found objects
        NSLog(@"%@",objects);

        // fetched data are PFObjects
        // we need to convert that into a YesOrNo object
        // and then add it to _cards array

        for (PFObject *object in objects) {
            NSLog(@"currentUser : %@",[PFUser currentUser]);
            PFUser *qOwnerUser = [object objectForKey:@"qOwner"];
            NSLog(@"Question Made by : %@",qOwnerUser);
        }
.....

正在打印以下内容:

1)

@@@ : Successfully retrieved 1 cards 

2)

(
        "<Questions: 0x17011f5c0, objectId: zZWGsfciEU, localId: (null)> {\n    CardId = 999;\n     qOwner = \"<PFUser: 0x17037e000, objectId: LtdxP5K0n6>\";\n    type = 0;\n  }"

)

3)

currentUser : <PFUser: 0x174375e40, objectId: LtdxP5K0n6, localId: (null)> {
    facebookId = 10153480462518901;
    thumbnail = "<PFFile: 0x174479a80>";
    username = UYRRmfbXDHqr1Ws4VwJcAy2wx;
}

4)

Question Made by : <PFUser: 0x17037e000, objectId: LtdxP5K0n6, localId: (null)> {
}

1-2-3似乎正确,我可以看到指针关系。 但是,为什么在{} 4个内部什么都看不到? 我本来希望看到与3中相同的用户详细信息。

我想念什么吗?

默认情况下,解析不会在查询中获取指针值。 您必须使用includeKey:告诉查询包含指针数据。 做这个:

PFQuery *query = [PFQuery queryWithClassName:@"Questions"];
[query addAscendingOrder:@"createdAt"];
[query includeKey:@"qOwner"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
    ...
}];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM