【问题标题】:Retrieve data from parse using objective c使用目标 c 从解析中检索数据
【发布时间】:2015-12-10 04:38:27
【问题描述】:

我正在尝试从解析服务器检索数据并存储在一个数组中。我不知道我在这里做错了什么。任何人都可以帮助我解决我的情况。另外,我是否可以使用查询来定义条件。我想注册用户。然后当我登录时,从解析加载用户的数据。

-(void)retrieveDataFromParse
{
    //retrive userdata and show in main menu
    NSString * username = _txtLoginUserName.text;
    NSString * password = _txtLoginPassword.text;
    PFQuery * query =[PFQuery queryWithClassName:@"User"];
    [query whereKey:@"EmailID" equalTo:username];
    [query whereKey:@"Password" equalTo:password];

    [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
        if (!error)
        {
            for (PFObject *object in objects)
            {
                // retreive data
                NSString * firstName = [object objectForKey:@"UserFirstName"];
                NSString * lastname = [object objectForKey:@"UserLastName"];
                NSString * emailID = [object objectForKey:@"EmailID"];
                NSString * address = [object objectForKey:@"Address"];
                NSString * aptNo = [object objectForKey:@"AptNo"];
                NSString * city = [object objectForKey:@"City"];
                NSString * state = [object objectForKey:@"State"];
                NSString * zipcode = [object objectForKey:@"Zipcode"];
                NSString * phone = [object objectForKey:@"Phone"];


                //put it in array
                UserData * userData = [[UserData alloc]init];
                userData.fname = firstName;
                userData.lname = lastname;
                userData.emailID = emailID;
                userData.address = address;
                userData.aptNo = aptNo;
                userData.city = city;
                userData.state = state;
                userData.zipcode =zipcode;
                userData.phone = phone;

                [self.array_userData addObject:userData];
            }
            NSLog(@"Successfully retrieved: %@", objects);
        }
        else
        {
            NSString *errorString = [[error userInfo] objectForKey:@"error"];
            NSLog(@"Error: %@", errorString);
        }
    }];

【问题讨论】:

  • 错误是什么?打印objects 以准确查看您得到的结果,至少将它的第一部分放在问题中。 UserData 是什么? array_userData 是一个属性吗?它是创建的,而不是声明的?
  • 我没有收到任何错误,它只是在“NSLog”中没有显示任何内容。 UserData 是 NSObject,我即将将这些数据发送到另一个 ViewController。 @zaph
  • 如果您确实需要查看任何内容,很可能该块未执行。您是否检查过在块内设置断点?
  • UserData 不是 NSObject,它可能是NSObject 的子类,但这并不能描述UserData 是什么。
  • 这就是调试器断点、单步、变量显示的用途:通过检查执行和变量来追踪错误代码。调试是开发代码的很大一部分,很少有开发人员可以编写没有错误需要调试的代码,当然不是我。如果NSLog()s 都没有执行,那么retrieveDataFromParse 可能没有被调用。

标签: objective-c parse-platform


【解决方案1】:

这是无效的:

PFQuery * query =[PFQuery queryWithClassName:@"User"];

应该是:

PFQuery * query = [PFUser query];

虽然我不应该工作,因为密码不应该以纯文本形式存储......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-30
    • 1970-01-01
    • 2013-11-24
    相关资源
    最近更新 更多