iPhone上的Facebook API:如何比较两组返回的状态更新

iPhone上的Facebook API:如何比较两组返回的状态更新,iphone,facebook,facebook-graph-api,nsmutablearray,compare,Iphone,Facebook,Facebook Graph Api,Nsmutablearray,Compare,我正在构建一个应用程序,需要用户的状态更新。我将状态更新放入一个数组中,并将它们显示给用户供其选择。我能够收集数据,从JSON解析数据并将其放入数组中。然而,每隔一段时间,我想检查是否有任何新的状态更新发布。我希望这样做的方式是将新状态放入一个新数组中,然后查看新状态的结束位置,以及现有状态的开始位置。我通过检查旧状态数组中的第一个字符串,并查看它在新数组中的位置来实现这一点。新阵列中第一个旧状态的位置使我能够告诉有多少新状态存在。我可以用Twitter API完美地做到这一点,但我在使用Gra

我正在构建一个应用程序,需要用户的状态更新。我将状态更新放入一个数组中,并将它们显示给用户供其选择。我能够收集数据,从JSON解析数据并将其放入数组中。然而,每隔一段时间,我想检查是否有任何新的状态更新发布。我希望这样做的方式是将新状态放入一个新数组中,然后查看新状态的结束位置,以及现有状态的开始位置。我通过检查旧状态数组中的第一个字符串,并查看它在新数组中的位置来实现这一点。新阵列中第一个旧状态的位置使我能够告诉有多少新状态存在。我可以用Twitter API完美地做到这一点,但我在使用Graph API时遇到了困难。第一次收集数据工作得很好,当没有新的状态时,代码工作得很好。问题在于何时发布新状态。我收集和比较数据的代码是:

-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{   
    NSMutableArray *goodstatusesFB = [[NSMutableArray alloc] init];
    NSMutableArray *datafromFB = [[NSMutableArray alloc] init];

    NSString *stringfromFB = [[[NSString alloc] initWithData:responseData encoding: NSASCIIStringEncoding] autorelease];
    NSDictionary *json = [stringfromFB JSONValue];
    NSArray *items = [json valueForKeyPath:@"data"];
    for (int a = 0; a < [items count]; a++)
    {
        NSDictionary *tempdict = [items objectAtIndex:a];
        NSString *typeFB = [tempdict objectForKey:@"type"];
        if ([typeFB isEqualToString:@"status"])
        {
            [datafromFB addObject:tempdict];
        }   
    }
    if ([goodstatusesFBexisting count] == 0)
    {
        //First time loading FB statuses
        [goodstatusesFBexisting addObjectsFromArray:goodstatusesFB];
    }
    else
    {
        //Existing statuses
        NSDictionary *statusDictold = [goodstatusesFBexisting objectAtIndex:0];
        NSDictionary *statusDictnew = [goodstatusesFB objectAtIndex:0];
        NSString *messageold = [statusDictold objectForKey:@"message"];
        NSString *messagenew = [statusDictnew objectForKey:@"message"];
        if ([messagenew isEqualToString:messageold])
        {
            NSLog(@"No new messages");
        }//Works perfectly until here!
        else
        {
            NSLog(@"New messages!"); 
            NSMutableArray *textfromFB = [[NSMutableArray alloc] init];
            NSMutableArray *textfromnew = [[NSMutableArray alloc] init];
            int numberofnewFB = 0;

            for (int a = 0; a < [goodstatusesFBexisting count]; a++)
            {
                NSDictionary *newcontents = [[NSDictionary alloc] init];
                newcontents = [goodstatusesFBexisting objectAtIndex:a];
                NSString *textfromexisting = [newcontents objectForKey:@"message"];
                [textfromFB insertObject:textfromexisting atIndex:a];      
            }   
            for (int b = 0; b < [goodstatusesFB count]; b++)
            {
                NSDictionary *newcontents1 = [[NSDictionary alloc] init];
                newcontents1 = [goodstatusesFB objectAtIndex:b];
                NSString *textfromexisting = [newcontents1 objectForKey:@"message"];
                [textfromnew insertObject:textfromexisting atIndex:b];       
            }
            numberofnewFB = [textfromnew indexOfObject:messageold];
            NSLog(@"You have %i new statuses", numberofnewFB);        
        }
    }

您确定messageold正在添加到textfromnew吗?尝试打印阵列,看看它是否在其中。我不确定你是否添加了它。