В моем xcdatamodel есть 2 следующих объекта:
Матрица
1.1 Атрибуты
название
1.2 Отношения
MatrixToProcess
Назначение: Процесс
Обратное есть: ProcessToMatrix
Отношение ко многим проверяется
Правило удаления - каскад
Процесс
2.1 Атрибуты
название
2.2 Отношения
ProcessToMatrix
Назначение: Матрица
Обратное есть: MatrixToProcess
Отношение ко многим не проверяется
Правило удаления равно нулю
Я могу успешно добавить новую матрицу, которая добавляется и правильно отображается в UITableView.
Я могу успешно добавить новый процесс, однако,
Вся необходимая информация добавляется в базу данных с ИСКЛЮЧЕНИЕМ значения Z_PK из таблицы Matrix.
Т.е. база данных sqlite в симуляторе iPhone создаст новое имя процесса, но НЕ вводит какую-либо информацию в столбец ZPROCESSTOMATRIX. Если я вручную вставлю соответствующее значение Matrix Name Z_PK, все будет работать.
Я борюсь с. не совсем понимаю, как добавить addObject в Process * newProcess = [NSEntityDescription insertNewObjectForEntityForName: @ "Process" inManagedObjectContext: self.managedObjectContext];
Это код, который я использую:
- (void)addProcess:(id)sender {
ProcessAddViewController *addController = [[ProcessAddViewController alloc] initWithNibName:@"ProcessAddView" bundle:nil];
addController.delegate = self;
Process *newProcess = [NSEntityDescription insertNewObjectForEntityForName:@"Process" inManagedObjectContext:self.managedObjectContext];
addController.process = newProcess;
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:addController];
[self presentModalViewController:navigationController animated:YES];
[navigationController release];
[addController release];
}
- (void)processAddViewController:(ProcessAddViewController *)processAddViewController didAddProcess:(Process *)process {
if (process) {
[self showProcess:process animated:NO];
}
[self dismissModalViewControllerAnimated:YES];
}
- (void)showProcess:(Process *)process animated:(BOOL)animated {
RootViewController *rootViewController = [[RootViewController alloc] initWithStyle:UITableViewStyleGrouped];
rootViewController.managedObjectContext = self.managedObjectContext;
if(entitySearchPredicate == nil)
{
NSMutableArray* mutableFetchResults = [CoreDataHelper getObjectsFromContext:self.entityName :@"displayOrder" :YES :managedObjectContext];
[self setEntityArray:mutableFetchResults];
[mutableFetchResults release];
}
else
{
NSMutableArray* mutableFetchResults = [CoreDataHelper searchObjectsInContext:self.entityName :entitySearchPredicate :@"displayOrder" :YES :managedObjectContext];
[self setEntityArray:mutableFetchResults];
[mutableFetchResults release];
}
[rootViewController release];
}
Любая помощь и / или направление будет принята с благодарностью.