Objective c 解析查询始终为true
也许这里不适合这样做,但我相信这里的许多用户都熟悉iOS的解析框架。基本上,我在查询时遇到了问题,我只想检查用户名是否已经存在(他们在登录时会这样做),除非我需要这样做,以便在当前用户和另一个用户之间建立关系。目前我的方法是: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 *
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中没有作为注册用户的字符串。因此,它不应该被发现。