Actualmente, todos mis guardados van a la memoria pero no se escriben en el disco (iOS). Mi aplicación está configurada con un UITableView
con una Modal View Add presentada sobre esto para crear contenido, cuando el usuario termina de crear el contenido y se hace clic en el botón Guardar el nuevo Item (clase NSManagedObject creado por mi CoreData Model) Lo imprimo y está completamente rellenado. Inmediatamente después de esto trato de guardarlo en el disco y se produce un mensaje de error con el mismo ID de objeto, excepto que los campos son nulos. Mientras tanto, se llama a mi método UITableViews - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
, que está registrando @"CanEdit"
.CoreData 1570 Código de error
¿Alguien puede ver lo que estoy haciendo mal?
Este es el código
NSLog(@"newItem %@", newItem);
NSError *error;
if (![newItem.managedObjectContext save:&error]) {
// Handle the error.
NSLog(@"%@", error);
}
if (editItem) {
[self.navigationController popViewControllerAnimated:YES];
} else {
[self dismissModalViewControllerAnimated:YES];
}
Y aquí está mi error
2011-10-22 15:24:46.322 App[42115:fb03] newItem <Item: 0x81a4a30> (entity: Item; id: 0x81a0ab0 <x-coredata:///Item/t7F2B54D2-0DCC-4530-88D5-900BE25C7DC23> ; data: {
containedIn = "0x6e89010 <x-coredata:///Item/t7F2B54D2-0DCC-4530-88D5-900BE25C7DC22>";
contains = (
);
content = a;
dateLastUsed = nil;
depth = 0;
encrypted = 0;
favorite = 0;
favoritePosition = nil;
folder = 0;
fullPath = "^Templates^Add Title";
name = a;
sortPosition = 0;
})
2011-10-22 15:24:46.323 App[42115:fb03] CanEdit
2011-10-22 15:24:46.326 App[42115:fb03] Error Domain=NSCocoaErrorDomain Code=1570 "The operation couldn’t be completed. (Cocoa error 1570.)" UserInfo=0x6ecc490
{NSValidationErrorObject=<Item: 0x6e88fb0> (entity: Item; id: 0x6e89010 <x-coredata:///Item/t7F2B54D2-0DCC-4530-88D5-900BE25C7DC22> ; data: {
containedIn = nil;
contains = (
"0x81a0ab0 <x-coredata:///Item/t7F2B54D2-0DCC-4530-88D5-900BE25C7DC23>"
);
content = nil;
dateLastUsed = nil;
depth = 0;
encrypted = 0;
favorite = 0;
favoritePosition = nil;
folder = 1;
fullPath = "^Templates^";
name = Templates;
sortPosition = 0;
}), NSValidationErrorKey=content, NSLocalizedDescription=The operation couldn’t be completed. (Cocoa error 1570.)}
posible duplicado de [iphone Datos principales Error no resuelto al guardar] (http://stackoverflow.com/questions/1283960/iphone-core-data-unresolved-error-while-saving) – millimoose
Vi eso antes, lo sé este error se debe a que no se ha establecido un campo obligatorio, pero mi pregunta es ¿por qué pasa de ser configurado a no ser establecido inmediatamente después? – xizor
El mensaje de error es para una entidad diferente ('0x81a0ab0') que la que estás registrando (' 0x6e89010'), y parece que una contiene la otra. ¿Core Data admite la conexión en cascada? Si es así, significa que realmente está guardando dos objetos con una llamada, y los atributos del objeto del contenedor son nulos. – millimoose