如何在 Parse 中添加数字(衡量标签的流行度)
How to add a number in Parse (Measuring popularity of a tag)
我正在尝试实现一种方法来衡量某个标签的受欢迎程度。因此,我写了一个方法,当没有预先存在的标签时,用户可以添加一个新标签。我还想创建一个列来显示特定标签的使用次数。但是,当我尝试将 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
索引相对应。我怀疑这些没有排队并且导致错误的对象计数器增加。希望能有所帮助。
我正在尝试实现一种方法来衡量某个标签的受欢迎程度。因此,我写了一个方法,当没有预先存在的标签时,用户可以添加一个新标签。我还想创建一个列来显示特定标签的使用次数。但是,当我尝试将 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
索引相对应。我怀疑这些没有排队并且导致错误的对象计数器增加。希望能有所帮助。