如何在iOS上使用parse.com基于NSArray数据进行动态查询
我需要在Parse中为用户查询大量好友消息 我有一个具有两个用户的Friend_Relation对象,一个是Friend,一个是current user 每个用户都有许多消息对象(我只关心最新的消息对象)。这种关系是这样的: [消息集对象:currentUser forKey:@“userMessage”] 用户对象具有最新消息objectId的属性 如何获取用户的所有好友及其消息?如何在iOS上使用parse.com基于NSArray数据进行动态查询,ios,nsarray,parse-platform,Ios,Nsarray,Parse Platform,我需要在Parse中为用户查询大量好友消息 我有一个具有两个用户的Friend_Relation对象,一个是Friend,一个是current user 每个用户都有许多消息对象(我只关心最新的消息对象)。这种关系是这样的: [消息集对象:currentUser forKey:@“userMessage”] 用户对象具有最新消息objectId的属性 如何获取用户的所有好友及其消息? 我在想,如果我能查询一个用户的所有朋友,那很容易。若我可以创建一个从用户朋友那个里获取的ObjectID的NSA
我在想,如果我能查询一个用户的所有朋友,那很容易。若我可以创建一个从用户朋友那个里获取的ObjectID的NSArray,我可以通过另一个查询来获取所有这些用户的消息。如何动态创建这种类型的查询?您可以使用内部查询来实现这一点:
PFQuery *getAllFriendsInnerQuery = [[currentUser relationForKey:@"friend"] query];
PFQuery *messageQuery = [PFQuery queryWithClassName:@"Message"];
[messageQuery whereKey:@"userMessage" matchesQuery:getAllFriendsInnerQuery];
[messageQuery findObjectsInBackgroundWithBlock:^(NSArray *array, NSError *error) {
// Here the parameter array contains all the messages from current user's friends
}];
答案肯定是使用包含在中的方法,如:
NSArray *names = [self.user objectForKey:@"friends"];
[query whereKey:@"userMessaga" containedIn:names];