我正在尝试实现一种方法来衡量某个标签的受欢迎程度。因此,我编写了一个方法,用户可以在没有预先存在的标记时添加新标记。我还想创建一个列,显示某些标记被使用的次数。然而,当我尝试给一个对象中的计数器加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
的索引相对应。我怀疑这些没有对齐,导致错误的对象计数器增加。