Исключение EXC_BAD_ACCESS в интеграции API Facebook - PullRequest
0 голосов
/ 22 июля 2011

Я интегрировал Facebook API в свое приложение, и это работает нормально.Сейчас я работаю, чтобы получать новые обновления.Я звоню NStimer через каждые 1 минуту.В первый раз он вызывает нормально, но во второй или третий раз при вызове функции я получаю исключение EXC_BAD_ACCESS.Вот мои данные кода.

 @interface {
       NSMutableArray*   prevFacebookMessageList;

}

// время выбора из UIPickerView

 - (void)pickerView:(UIPickerView *)pickerView didSelectRow: (NSInteger)row inComponent:(NSInteger)component {

[NSTimer scheduledTimerWithTimeInterval:updateTime target:self selector:@selector(updateMethod) userInfo:nil repeats:YES];

}

// функция Facebook

 - (void)request:(FBRequest*)request didLoad:(id)result {

  int preFacebookCount=0;



if([prevFacebookMessageList count]>0) {
  preFacebookCount=[prevFacebookMessageList count];
    prevFacebookMessageList=nil;
}

 prevFacebookMessageList=[[result objectAtIndex:5]objectForKey:@"fql_result_set" ] ;

// Showing a image icon if update occured on interface

 if([prevFacebookMessageList count] > preFacebookCount && updateImage.hidden) {

    updateImage.hidden=NO;
}

}

// Эта функция API Facebook выдает исключение

  - (id)parseXMLResponse:(NSData*)data error:(NSError**)error {

    FBXMLHandler* handler = [[[FBXMLHandler alloc] init] autorelease];

     NSXMLParser* parser = [[[NSXMLParser alloc] initWithData:data] autorelease];

    parser.delegate = handler ; **// EXCEPTION IS OCCURING TO THIS POINT "EXC_BAD_ACCESS EXCEPTION"**

    [parser parse];

     if (handler.parseError) {

     if (error) {

         *error = [[handler.parseError retain] autorelease];

     }

  return nil;

    } else if ([handler.rootName isEqualToString:@"error_response"]) {

 NSDictionary* errorDict = handler.rootObject;

 NSInteger code = [[errorDict objectForKey:@"error_code"] intValue];

    NSDictionary* info = [NSDictionary dictionaryWithObjectsAndKeys:
  [errorDict objectForKey:@"error_msg"], NSLocalizedDescriptionKey,
  [errorDict objectForKey:@"request_args"], @"request_args",
  nil];

    if (error) {

     *error = [NSError errorWithDomain:FBAPI_ERROR_DOMAIN code:code userInfo:info];

 }
 return nil;

 } else {

 return [[handler.rootObject retain] autorelease];

}

}

Заранее спасибо.

...