ios - 解析查询在只有一个对象时发现两个对象

标签 ios objective-c parse-platform

我有以下代码来查找自定义类中的对象。由于某种原因,它找到了两个相同的对象(self.addedArray2 的计数是 2,但在在线解析数据表上,只有一个)。你明白为什么它会两次找到同一个对象吗?

self.array2 = [[NSMutableArray alloc] init];
    self.addedArray2 = [[NSMutableArray alloc] init];

    PFQuery *query = [PFQuery queryWithClassName:@"Friends"];
    [query whereKey:@"user" containsString:[[PFUser currentUser] objectForKey:@"username"]];
    [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
        for (Friends *currentFriend in objects) {
            self.relation = currentFriend.friendsRelation;
            self.addedRelation = currentFriend.addedRelation;
            self.query = [_relation query];

            [[_relation query] findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
                [self.array2 addObjectsFromArray:objects];

                [[_addedRelation query] findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
                    [self.addedArray2 addObjectsFromArray:objects];

                    [self.segmentControl setTitle:[NSString stringWithFormat:@"Friends (%lu)", (unsigned long)[self.array2 count]] forSegmentAtIndex:0];
                    [self.segmentControl setTitle:[NSString stringWithFormat:@"Added Me (%lu)", (unsigned long)[self.addedArray2 count]] forSegmentAtIndex:1];
                    NSLog(@"Number 1: %@", [self.addedArray2 objectAtIndex:0]);
                    NSLog(@"Number 2: %@", [self.addedArray2 objectAtIndex:1]);

                }];
            }];
        }
    }];

它正在记录“Number 1”,然后是“Number 1”,然后是“Number 2”。看起来该代码正在运行两次并再次添加。我该如何解决?对于所有这些嵌套,我真的不知道我能做什么。

最佳答案

对于 Friends 类的关键“用户”,如果它包含用户的用户名,请尝试替换:

[query whereKey:@"user" containsString:[[PFUser currentUser] objectForKey:@"username"]];

有了这个,如果有任何改变请告诉我:

[query whereKey:@"user" equalTo:[[PFUser currentUser] objectForKey:@"username"]];

但是,如果它是指向用户对象的指针,那么您将希望您的查询类似于以下内容:

[query whereKey:@"user" equalTo:[User currentUser]];

如果我的任何一个假设是错误的,请告诉我,因为我不知道您的类的结构,但我会尝试找出答案。

关于ios - 解析查询在只有一个对象时发现两个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30227253/

相关文章:

ios - NSTimer 用户信息。对象如何传递给选择器?

iphone - iOS 7 中的 UITabBar 色调

ios - 拾取图像 imagepicker 时状态栏被隐藏

ios - 解析 Facebook 登录 Swift 3.0

java - 在 ParseUser 中检索自定义字段

swift - 异步设置变量并在 View Controller 中使用

ios - Xcode 8 beta - 如何更改 Storyboard中所有 View Controller 的大小?

ios - Swift - 存储和检索数据

iphone - iOS 上的 Facebook Connect - 图片不显示在墙贴中

ios - XCode 找不到头文件,但命令单击打开它