NSManagedObject initWithEntity: insertIntoManagedObjectContext: EXC_BAD_ACCESS

У меня есть хранилище Core Data, созданное с помощью подкласса NSManagedObject, созданного Xcode: Примечание.

Я могу использовать NSEntityDescription insertNewObjectForEntityName: inManagedObjectContext: без проблем, но когда я пытаюсь сделать это:

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

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

Я получаю ошибку EXC_BAD_ACCESS.

Используя точки останова, я вижу, что NSManagedObjectContext * действительно указывает на действительный объект.

Любая помощь будет оценена по достоинству!


person Liam Hughes    schedule 09.03.2011    source источник


Ответы (1)


Я вижу здесь по крайней мере одну проблему: initWithEntity:insertIntoManagedObjectContext: принимает NSEntityDescription, а не NSString. Попробуйте что-то вроде этого:

NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"Note" inManagedObjectContext:moc];
Note* note = [[Note alloc] initWithEntity:entityDescription insertIntoManagedObjectContext:moc];
person Anomie    schedule 10.03.2011
comment
Большое тебе спасибо! Я уверен, что сверился с документацией и попробовал все, но, видимо, я не уделял достаточно внимания тому, что такое NSEntityDescription! - person Liam Hughes; 10.03.2011