2009-09-09 8 views
0

Je reçois toujours un signal -> Programme reçu: "EXC_BAD_ACCESS".données de base iphone executeFetchRequest problème de mémoire

Dans le code suivant mais je ne comprends pas vraiment pourquoi. Si je commente les lignes "executeFetchRequest", il disparaît.

Ne devrait pas [la publication des résultats]; être tout ce qui est nécessaire?

Merci à l'avance, Matt

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. 
- (void)viewDidLoad { 
    [super viewDidLoad]; 

    // fetch the delegate 
    TestingAppDelegate *app = (TestingAppDelegate *)[[UIApplication sharedApplication] delegate]; 
    NSManagedObjectContext *managedObjectContext = [app managedObjectContext]; 

    // construct the request 
    NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease]; 
    [request setEntity:[NSEntityDescription entityForName:@"Client" inManagedObjectContext:managedObjectContext]]; 

    NSError *error; 
    NSArray *results = [managedObjectContext executeFetchRequest:request error:&error]; 
    [results release]; 
} 

Répondre

5

Je crois results, le résultat de executeFetchRequest:error:, devraient déjà être autoreleased. Parce que vous appelez explicitement [results release], vous libérez trop cet objet lorsque le pool de libération automatique actuel est vidé. Supprimez la ligne [results release] et voyez si cela résout.

+0

Merci. Cela l'a réparé! À votre santé. – Sway