如何在Parse(衡量标签的流行度)中添加数字



我正在尝试实现一种方法来衡量某个标签的受欢迎程度。因此,我编写了一个方法,用户可以在没有预先存在的标记时添加新标记。我还想创建一个列,显示某些标记被使用的次数。然而,当我尝试给一个对象中的计数器加1时,另一个对象中的计数器会增加。我不知道如何解决这个问题。如有任何帮助,不胜感激。

        PFQuery *query = [PFQuery queryWithClassName:@"TagTrend"];
       NSMutableArray *preexistingTags = [NSMutableArray array];
        NSMutableArray *preexistingTagId = [NSMutableArray array];
        NSMutableArray *numPostsArray = [NSMutableArray array];
        [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error){
            if (error == nil) {
                int count = (int)objects.count;
                for (PFObject *object in objects){
                    NSString *tagName = [NSString stringWithFormat:@"%@", [object objectForKey:@"TagName"]];
                    [preexistingTags addObject:tagName];
                    NSLog(@"tagname %@", tagName);
                    NSNumber *numPostsNSNUM = [object objectForKey:@"NumberOfPosts"];
                    //int numPosts = [numPostsStr intValue];
                    [numPostsArray addObject:numPostsNSNUM];
                    NSLog(@"tagNum %@", numPostsNSNUM);

                    //NSLog(@"number of posts %i", numPosts);
                    NSString *objectId = [NSString stringWithFormat:@"%@", [object objectId]];
                    [preexistingTagId addObject:objectId];
                    NSLog(@"tagId %@", objectId);

                    count --;
                    if (count == 0) {

                        for (int i = 0; i < miscTagArray.count; i++) {
                            NSString *tagName = [miscTagArray objectAtIndex:i];
                            NSString *tagObjectId = [preexistingTagId objectAtIndex:i];
                            NSNumber *numPosts = [numPostsArray objectAtIndex:i];
                            BOOL sameTag = [preexistingTags containsObject:tagName];
                            if (sameTag == NO){
                                PFObject* tagPop = [PFObject objectWithClassName:@"TagTrend"];
                                NSLog(@"NO %@",tagName);
                               // NSString *numPostsStr = @"1";
                                NSNumber *numPosts = @1;
                                tagPop[@"NumberOfPosts"] = numPosts;
                                 tagPop[@"TagName"] = tagName;
                                [tagPop saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error){
                                    if (!error) {
                                        NSLog(@"success");
                                    }else{
                                        NSLog(@"failure");}
                                }];
                            }else{
                                PFObject* tagPop = [PFObject objectWithoutDataWithClassName:@"TagTrend" objectId: tagObjectId];
                                NSLog(@"YES %@",tagName);
                                int tempNumPosts = [numPosts intValue];
                                tempNumPosts ++;
                                tagPop[@"NumberOfPosts"] = [NSNumber numberWithInt:tempNumPosts];
                                [tagPop saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error){
                                    if (!error) {
                                        NSLog(@"success");
                                    }else{
                                        NSLog(@"failure");}
                                }];
                            }

                        }
                    }}}}];

确保miscTagArray中的标签索引与objectID/numPosts的索引相对应。我怀疑这些没有对齐,导致错误的对象计数器增加。

最新更新