我的iPhone应用程序必须搜索存储在Parse上的相同电话号码。流程是,
3)通过使用该号码获取PFUser来显示结果。
这与whatsapp相同,我们可以看到我们的联系人使用Whatsapp。所以基本上我知道要查询并找出用户,但我的问题是,这是优化的方式吗?例如,如果我有50个联系人,并且每个数字将被明显比较,直到找到匹配,如果有1k / 10K /更多..用户那么这将是非常密集的工作!所以请帮助我找到最好的和最快的方式,因为我是初学者使用解析,任何帮助赞赏。非常感谢专家。
答案 0 :(得分:0)
您是否阅读过Parse docs for PFQuery?
假设每个PFUser都有phoneNumber
之类的属性,例如:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"phoneNumber in %@", phoneNumbersArray];
PFQuery *query = [PFQuery queryWithClassName:[PFUser parseClassName] predicate:predicate];
NSArray *pfUsers = [query findObjects];
除非你改变了其他内容,否则它应该没有更多,例如使其他人无法通过ACL读取PFUser行。
答案 1 :(得分:0)
我不太清楚您是否担心查询的速度或结果集的大小,但我相信这是查询。
您的每个电话号码都不会与您的parse.com表格中的每个条目进行比较。 Parse通过优化对类执行查询的方式,使您可以轻松处理后端。
您可以为搜索使用简单的查询约束。将您要查询的所有电话号码放入一个数组中,然后创建如下查询:
PFQuery query = [PFUser query];
[query whereKey:@"phone" containedIn: arrayWithPhoneNumbers];
这将返回一个结果集,其中包括所有用户的电话号码与arrayWithPhoneNumbers中的任何数字相匹配。