如何在iOS上使用parse.com基于NSArray数据进行动态查询

时间:2013-07-04 20:27:34

标签: ios nsarray parse-platform

我需要在Parse中为用户查询大量朋友的消息。

我有一个Friend_Relation对象,有两个用户,一个朋友和一个当前用户。

每个用户都有许多Message对象(我只关注最新的)。关系松散如下:      [message setObject:currentUser forKey:@“userMessage”];

用户对象具有最新消息objectId的属性。

如何获取所有用户的朋友及其消息?

我在想是否能够轻松查询所有用户的朋友。如果我可以创建一个我从用户朋友那里获得的objectIds的NSArray,我可以通过另一个查询来获取所有这些用户的消息。我怎么能动态创建这种类型的查询?

2 个答案:

答案 0 :(得分:0)

您可以使用内部查询来实现此目的:

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
}];

答案 1 :(得分:0)

答案肯定是使用像这样的方法:

NSArray *names = [self.user objectForKey:@"friends"];
        [query whereKey:@"userMessaga" containedIn:names];