Liam Hughes
Liam Hughes

Reputation: 47

NSManagedObject initWithEntity: insertIntoManagedObjectContext: EXC_BAD_ACCESS

I have a Core Data store set up with an Xcode-generated subclass of NSManagedObject: Note.

I can use NSEntityDescription insertNewObjectForEntityName: inManagedObjectContext: with no trouble, but when I try to do this:

    NSManagedObjectContext* moc = [(QuickTextAppDelegate*)([[UIApplication sharedApplication] delegate]) managedObjectContext];

    Note* note = [[Note alloc] initWithEntity:@"Note" insertIntoManagedObjectContext:moc];

I get an EXC_BAD_ACCESS error.

Using breakpoints I can see that the NSManagedObjectContext* in indeed pointing to a valid object.

Any help would be appreciated!

Upvotes: 5

Views: 7894

Answers (1)

Anomie
Anomie

Reputation: 94794

I see at least one problem there: initWithEntity:insertIntoManagedObjectContext: takes an NSEntityDescription, not an NSString. Try something like this:

NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"Note" inManagedObjectContext:moc];
Note* note = [[Note alloc] initWithEntity:entityDescription insertIntoManagedObjectContext:moc];

Upvotes: 14

Related Questions