IOS : BAD ACCESS when trying to add a new Entity object

Posted by Maverick447 on Stack Overflow See other posts from Stack Overflow or by Maverick447
Published on 2010-12-25T22:51:18Z Indexed on 2010/12/25 22:54 UTC
Read the original article Hit count: 200

Filed under:

So i'm using coredata to model my relationships .

This is the model in brief

Type A can have one or more types of type B

Type B has a inverse relationship of being associated with one of type A

Type B can have one or more types of type C Type C has a inverse relationship of being associated with one of type B

From a UI standpoint , I have a Navigation controller with controllers that successively sets up the first A object (VC-1) , then another viewcontroller (VC-2) creates a B object ( I pass in the A object to this controller) and the B object is added to the A object . Similarly the same thing happens with B and C . The third Viewcontroller (VC3) first creates a C object and assigns it to the passed B Object .

Also between these viewcontrollers the managedObjectCOntext is also passed .

SO my use case is such that while viewcontroller (VC-3) is the top controller a button action will keep creating multiple objects of type C and add them to the same type B object that was passed . Also as part of this function I save the managedObject context after saving each type C .

e.g. code in viewcontroller 3

- (void) SaveNewTypeC
{
    TypeC *newtypeC =  (Question*)[NSEntityDescription insertNewObjectForEntityForName:@"TypeC" inManagedObjectContext:managedObjectContext];

    [newtypeC setProp1:] ;
        [newtypeC setProp2:] 

         ..
         .. 


    **[typeBObject addTypeCInTypeBObject:newtypeC];**
    [section setTotalCObjectCount:[ NSNumber numberWithInt:typeCIndex++]];


    NSError *error = nil;
    if (![managedObjectContext save:&error]) {
        // Handle error
        NSLog(@"Unresolved error %@, %@, %@", error, [error userInfo],[error localizedDescription]);
        exit(-1);  // Fail
    }

    [newtypeC release];



}

- (IBAction)selectedNewButton:(id)sender {


    [self SaveNewTypeC];

    [self startRepeatingTimer];

}

The BAD ACCESS seems to appear when the bold line above executes Relating to some HashValue .

Any clues on resolving this would be helpful .

© Stack Overflow or respective owner

Related posts about iphone-sdk-4.0