我在解析时有3个表
用户可以关注多个列表,因此所有列表ID都存储为对应于列表中记录的对象ID数组
当我打电话
NSArray *convArr = [[PFUser currentUser] objectForKey:@"lists"];
它显示有列表对象,但它看起来好像是空的,我无法从中检索值以进一步查询列表表以获取列表用户正在关注
For all the users and their list I have
PFQuery *uQuery = [PFUser query];
[uQuery includeKey:@"lists"];
[uQuery findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
...
}];
但我无法在查询中传递当前用户信息。
[uQuery whereKey:@"user" equalTo:[PFUser currentUser]]; or
[uQuery includeKey:[PFUser currentUser].objectId];
添加任何此功能都不会为当前用户提取记录。
答案 0 :(得分:0)
您可以尝试刷新当前用户,以便从服务器中提取最新数据,然后查看列表对象。
[[PFUser currentUser] fetchInBackgroundWithBlock:^(PFObject *user, NSError *error){
NSArray *convArr = [user objectForKey:@"lists"];
}];
答案 1 :(得分:0)
好的,无论如何我都会尝试。
我将假设您有一个currentUser,您想要检索所有列表。你可以这样做一个简单的查询(Ofcourse假设你有一个包含他所做列表的objectIds的数组):
PFQuery *query = [PFQuery queryWithClassName:@"List"];
[query whereKey:@"objectId" containedIn:currentUser[@"lists"];
[query findObjectsInBackgroundWithBlock:^(NSArray *lists, NSError *error) {
//This should return all the lists based on the keys inside the column of lists from the current User
}
如果你想为每个用户做这个,你必须首先查询用户,那么基本上做同样的事情,而不是用户“currentUser [@”列出“]”,你会使用类似的东西“ queriedUser [@ “名单”]”。请原谅我可怕的语法。
另一个用于查找正确“查询约束”的方便工具可能就是link
我希望这至少对你有所帮助!