У меня есть два класса A и B с отношением 1: n от A до n B. В A есть атрибут отношений bs (не упорядочен), а в B есть атрибут отношения.Не удалось вызвать назначенный инициализатор в классе NSManagedObject, вызвав добавление NSArrayController
A и B фактически являются NSManagedObject, автоматически генерируемыми из модели Core Data проекта.
В NSViewController у меня есть ArrayController и NSTableView с ячейкой, через которые мне нужно показать и управлять b.
ArrayController имеет:
- Режим: Класс
- Имя Класс: B
- Содержимое набора связаны с a.bs
Каждый столбец таблицы связывается с контроллером массива orderedObjects.b_attribute
В таблице показаны как ожидалось, так и я могу их редактировать.
Проблемы возникают при попытке добавить новый b.
Контроллер имеет кнопку, и ее действие привязано к Array Controller add: method.
К сожалению, когда я нажимаю кнопку, я получаю следующее сообщение об ошибке:
error: CoreData: error: Failed to call designated initializer
on NSManagedObject class 'B'
CoreData: error: CoreData: error: Failed to call designated
initializer on NSManagedObject class 'B'
Копает StackOverflow Я обнаружил, что проблема может быть связана с созданием управляемых объектов с помощью:
... = [[B alloc] init];
вместо от
... = [NSEntityDescription insertNewObjectForEntityForName:@"B" inManagedObjectContext:_managedObjectContext];
Поскольку я не создаю явно объекты b, nk это так, но я не могу понять, что я делаю неправильно.
Заранее благодарю за предоставленную помощь.
К сожалению, это не решит проблему. Tks, во всяком случае. – Fab
По-прежнему такая же ошибка? – Willeke
Точно такое же – Fab