【问题标题】:PFQuery won't return valuePFQuery 不会返回值
【发布时间】:2014-04-15 07:07:49
【问题描述】:

所以我可以将数据存储到我的解析类中,但我无法读出这些值。

这是我声明我的 Userinfo 类和我的 User 类之间的关系的地方:

 PFObject *userObject = [PFObject objectWithClassName:@"UserInfo"];
 [userObject setObject:[PFUser currentUser] forKey:@"Username"];

然后我在 UserInfo 类中设置值并正确存储,但是当我从数据库中读取值时,我没有读出任何对象。

PFQuery *load =[PFQuery queryWithClassName:@"UserInfo"];
[load whereKey:@"Username" equalTo:[PFUser currentUser]];

[load findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error){
    if(!error)
    {
        if (!error) {
            infoArray = [[NSArray alloc] initWithArray:objects];
            NSLog(@"Successfully retrieved %d obj.", infoArray.count); //this comes back as zero
            NSLog (@"idummy %@", infoArray);
        }
    }
}];

我觉得我很接近但错过了一步,我还检查了我的代码中没有执行任何代码 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 除了我的解析密钥和客户端 ID。

更新:

所以我已经弄清楚了上面的问题:

NSString *ObjID=curr.objectId;

PFQuery *load =[PFQuery queryWithClassName:@"UserInfo"];
[load whereKey:@"objectId" equalTo:ObjID];

当我 @"adf234" 为 equalTo 时它可以工作,但是我是否可以根据 NSString ObjID 值进行搜索?因为当我像上面那样放置 ObjID 时它不起作用。

【问题讨论】:

  • 你在findObjectsInBackgroundWithBlockerror对象中得到了什么?
  • 您在哪里保存以及如何验证保存是否有效?
  • 我在 UserInfo 类中保存用户的基本信息,例如姓名、帐单地址、电子邮件、电话号码。我想在用户登录时将其显示在标签页上。我通过登录到我的解析帐户验证它正在保存,它显示了我在子类 UserInfo 中为用户注册的正确数据。跨度>
  • 你在某处运行[userObject saveInBackground ...吗?
  • 是的,一旦用户点击注册,我就会这样做。

标签: ios parsing pfquery


【解决方案1】:

简单的改变

PFQuery *load =[PFQuery queryWithClassName:@"UserInfo"];
/*[load whereKey:@"Username" equalTo:[PFUser currentUser]];*/ No need of this

[query includeKey:@"Username"];

[load findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error){
if(!error)
{
    if (!error)
    {
        NSDictionary *dict = [objects objectAtIndex:0];
        NSLog(@"Successfully retrieved %d obj.",[[dict objectForKey:@"Username"] objectForKey:@"username"]);  

      /* I was also getting it null but if you try to nslog [PFUSer currentUser] you will get details but I tried for object key pair then got details so similarly you will get all other details of user by providing different keys.*/
    }
}
}];

【讨论】:

  • 这返回了一个用户名,我想获取特定于当前登录用户的信息。
  • 也不是当前登录用户的用户名。
  • 这提供了当前用户的详细信息我已经创建了一个演示,但如果你只是输入,[[PFUSer current user] objectForKey:@"COLUMN_NAME_YOU_WANT_INFO_ABOUT"] ;然后你可以得到关于当前用户的具体信息。
  • 感谢您的帮助!一旦我确定您的答案有效,我就在新用户保存之前设置了我的指针!再次感谢!
猜你喜欢
  • 1970-01-01
  • 2017-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-03
  • 2013-03-25
  • 1970-01-01
相关资源
最近更新 更多