Objective c 解析查询始终为true

Objective c 解析查询始终为true,objective-c,parse-platform,Objective C,Parse Platform,也许这里不适合这样做,但我相信这里的许多用户都熟悉iOS的解析框架。基本上,我在查询时遇到了问题,我只想检查用户名是否已经存在(他们在登录时会这样做),除非我需要这样做,以便在当前用户和另一个用户之间建立关系。目前我的方法是: PFQuery *query = [PFUser query]; [query whereKey:@"username" equalTo:username.text]; [query findObjectsInBackgroundWithBlock:^(NSArray *

也许这里不适合这样做,但我相信这里的许多用户都熟悉iOS的解析框架。基本上,我在查询时遇到了问题,我只想检查用户名是否已经存在(他们在登录时会这样做),除非我需要这样做,以便在当前用户和另一个用户之间建立关系。目前我的方法是:

PFQuery *query = [PFUser query];
[query whereKey:@"username" equalTo:username.text];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
    if (!error) {
        NSLog(@"query returned with result");

        for (PFObject *object in objects) {
            NSLog(@"%@", object.objectId);
        }
    }
    else {
        NSLog(@"Nope");
    }
}];
username
只是一个字符串,包含从
UITextField
以纯文本形式输入的单词。但无论我输入什么,查询似乎都会通过,我得到了成功的信息。我甚至试着遍历for循环中显示的对象,但没有得到任何记录。这是怎么回事

编辑
只是为了澄清,
username
只是从视图控制器的
IBOutlet UITextField*username
中获取,该视图控制器从输入中获取用户名。我已经做了测试,以确保正确使用。如果我输入“foo”,我可以记录username.text,它将是“foo”,但是我没有名为“foo”的注册用户,因此我不理解为什么查询返回时没有错误。

即使没有找到对象,您也会收到成功消息

(尝试记录对象。计数)

如果是这样,您应该检查键值或查询值的拼写


它们区分大小写。

确定是否打印成功的
if语句
在哪里?请分享所有相关信息以及什么是
用户名
?它是
UITextView
还是
NSString
?我在
UITextField
中提到了它的纯文本。
if(!error)
是确定打印是否成功的语句。请重新阅读问题。那么将文本从
UITextField
放入
username
的代码在哪里?请再次分享一切。它位于
iboutletuitextfield*username。我认为这无关紧要,因为我成功地从
UITextField
获取了一个字符串,并且它与我输入的内容完全匹配,因为我对它进行了测试。我只是想发布相关代码,以免混淆任何人。你可以假设
用户名
=“foo”或任何其他字符串。但我在Parse中没有作为注册用户的字符串。因此,它不应该被发现。